00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _POSIX_SIG_H
00021 #define _POSIX_SIG_H
00022
00023 #include <posix/thread.h>
00024
00025 #define SIGACTION_FLAGS (SA_ONESHOT|SA_NOMASK|SA_SIGINFO)
00026
00027 typedef struct {
00028 siginfo_t info;
00029 xnpholder_t link;
00030
00031 #define link2siginfo(iaddr) \
00032 ((pse51_siginfo_t *)(((char *)iaddr) - offsetof(pse51_siginfo_t, link)))
00033
00034 } pse51_siginfo_t;
00035
00036
00037 void pse51_sigqueue_inner(pthread_t thread, pse51_siginfo_t *si);
00038
00039 void pse51_sigunqueue(pthread_t thread, pse51_siginfo_t *si);
00040
00041 void pse51_signal_init_thread(pthread_t new, const pthread_t parent);
00042
00043 void pse51_signal_cleanup_thread(pthread_t zombie);
00044
00045 void pse51_signal_pkg_init(void);
00046
00047 void pse51_signal_pkg_cleanup(void);
00048
00049 #endif