カーネル 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" を実行していました