Download Comparative Study on Real Time Enhanced Linux

Transcript
40
CHAPTER 2. KERNEL SPACE API
pthread_exit
pthread_setcanceltype
pthread_setcancelstate
pthread_cancel
pthread_testcancel
pthread_join
pthread_kill
pthread_cleanup_pop
pthread_cleanup_push
sysconf
uname
2.3.2
POSIX signals
The POSIX signals were developed in the framwork of the OCERA
project at the university of Valencia (DISCA), there implementation is strictly POSIX oriented and a elaborate compliance test is
included. As the POSIX signals incure a cirtain scheduler overhad
for processing, they are provided as a compile time configuration
option.
The POSIX signals in RTLinux are implemented as a 32bit
signal ‘register‘, a signal delivery means that a signal is marked
in this 32bit value. When the scheduler is invokd it will, after
selecting a task, check for any pending, non-blocked signals and
process them if necessary. POSIX signals in RTLinux have a lazy
delivery behavior, that is they will not call the scheduler to deliver
signals imediatly on there own, if this behavior is anticipated then
its up to the programmer to invoke the scheduler after having sent
a signal to a thread.
RTLinux signal handlers execute in the context of the thread
that the signal is deliverd to (invocation after the context switch
occurs).
pthread_kill
sigemptyset
sigfillset
sigaddset
sigdelset
sigismember
sigaction
sigprocmask