This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

SIGEV_THREAD


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]