2

カーネル 3.2.23-rt37.56.el6rt.x86_64 の SCHED_RR ポリシーに許可されている最大優先度を割り当てようとしています。コードは以下のとおりです。7 行目と 8 行目の max_prio_for_policy はゼロです。コードのどこが間違っていますか?

    pthread_t thId = pthread_self();
    pthread_attr_t theAttr;
    int policy = SCHED_RR;
    int max_prio_for_policy = 0;

    pthread_attr_init(&theAttr);
    pthread_attr_getschedpolicy(&theAttr, &policy);
    max_prio_for_policy = sched_get_priority_max(policy);

    printf("setting thread priority to: %d\n", max_prio_for_policy);

更新: このコードをカーネル 3.2.23-rt37.56.el6rt.x86_64 と 2.6.32-279.el6.x86_64 の両方で実行したところ、結果は同じでした。

解決済み: "sched.h" ではなく #include "linux/sched.h" を実行していました

4

0 に答える 0