[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

thread _POSIX_THREAD_PRIO_INHERIT support under linux?



In inquiring around six months or so back about thread support under
linux, someone said to me that for soft real time prioritization of sound
read and disk right processes, one could either use un-niced forked
processes or prioritized threads.  In principal he was certainly correct.

My problem is that I proceeded to embark on a project to create a
thread-based (and less buggy) version of bplay (after giving up on
modifying the original).  My #if defined _POSIX_THREAD_PRIO_INHERIT ||
defined _POSIX_THREAD_PRIO_PROTECT statements were so portable that I'm
just now realizing that linux doesn't appear to support either of these RT
thread extensions, which I find difficult to believe, since it should be
so easy to add them given the underlying one-to-one thread<-->process
model.  Here is the test case I eventually wrote:

#include <pthread.h>
#include <stdio.h>

main( ) 
{
#ifdef _POSIX_THREAD_PRIO_INHERIT
  printf("_POSIX_THREAD_PRIO_INHERIT supported\n");
#else
  printf("_POSIX_THREAD_PRIO_INHERIT not supported\n");
#endif
#ifdef _POSIX_THREAD_PRIO_CEILING
  printf("_POSIX_THREAD_PRIO_CEILING supported\n");
#else
  printf("_POSIX_THREAD_PRIO_CEILING not supported\n");
#endif
}

_POSIX_THREAD_PRIO_INHERIT not supported
_POSIX_THREAD_PRIO_CEILING not supported

Am I missing an important include or something?  Is support better in
kernel version 2.2?  Any help or advice greatly appriciated.

__
GNU GPL: "The Source will be with you... always."

Britton Kerin



Reply to: