This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
SIGEV_THREAD
- From: george anzinger <george at mvista dot com>
- To: "libc-alpha at sources dot redhat dot com" <libc-alpha at sources dot redhat dot com>
- Date: Mon, 11 Mar 2002 12:26:39 -0800
- Subject: SIGEV_THREAD
- Organization: Monta Vista Software
In timer_create(), the SIGEV_THREAD flag is implemented in a way that
seems to be somewhat close to the standard. However, if a POSIX timer
is implemented in the system (i.e. a system call), this functionality
requires an extension to the system that is rather hard to do. The
problem is that it actually creates (at least in some cases) a new
thread and then executes a given function in that environment. I have
yet to find a system that implements SIGEV_THREAD, though I assume there
must be one, given the way standards are developed. It is not clear
what to do here in terms of integrating the POSIX extensions into the
kernel.
a.) If we preprocess the timer_create() call in glibc and "handle" this
option, just how is this to be done? When the timer sends its signal,
what/who is to be signaled? One answer is that we supply a signal
handler which is passed info on the function to be called via the
siginfo structure. The issue here is: Which signal? Is there a signal
reserved to glibc for this sort of thing? If so, can it be extended to
do this?
b.) Can we drop the functionality? This may lead to compatibility
issues, however, it seem unlikely that anyone has ever used this
capability. As I said earlier, I know of no other system that has
implemented it.
--
George george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/