Date: Mon, 7 Jul 2003 15:02:32 -0400 (EDT) From: Daniel Eischen <eischen@vigrid.com> To: John Baldwin <jhb@freebsd.org> Cc: threads@freebsd.org Subject: Re: libc_r silliness Message-ID: <Pine.GSO.4.10.10307071444090.4037-100000@pcnet5.pcnet.com> In-Reply-To: <XFMail.20030707141840.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 7 Jul 2003, John Baldwin wrote: > Just wondering why the PTHREAD_{MIN,MAX}_PRIORITY macros referenced in > the pthread_{get,set}schedparam() man pages are not available to > applications but are hidden in pthread_private.h. It would seem that > these values should be exported in pthread.h. Because they are not defined by the POSIX spec. According to POSIX you should use: sched_get_priority_max(), sched_get_priority_min() but it is confusing because these are specified for the process scheduling. The values returned by these system calls, do not necessarily correspond to the values used by our thread libraries (in fact, they don't). I believe somewhere in the old spec, there were supposed to be at least 31 or 32 priorities (I can't seem to find that mentioned in the new spec). Our thread libraries, at least libc_r and libpthread, use priorities 0 .. 31. I don't really know how to handle this. We can wrap sched_get_priority_{min,max}(), but how do we know whether the application wants process priorities or thread priorities? -- Dan Eischen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10307071444090.4037-100000>