diff options
Diffstat (limited to 'PACE/pace/posix/signal.inl')
-rw-r--r-- | PACE/pace/posix/signal.inl | 93 |
1 files changed, 23 insertions, 70 deletions
diff --git a/PACE/pace/posix/signal.inl b/PACE/pace/posix/signal.inl index ce591600baa..e3d6a4e0ab6 100644 --- a/PACE/pace/posix/signal.inl +++ b/PACE/pace/posix/signal.inl @@ -13,155 +13,108 @@ * * ============================================================================= */ -#include "pace/pthread.h" -#include "pace/time.h" - -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_kill (pace_pid_t pid, int sig) +pace_kill (pid_t pid, int sig) { return kill (pid, sig); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_raise (int sig) -{ - /* Implementation from POSIX std 8.1:54 */ - return pthread_kill (pthread_self (), sig); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigaction (int sig, const pace_sigaction_s * act, - pace_sigaction_s * oact) +pace_sigaction (int sig, const struct sigaction * act, + struct sigaction * oact) { return sigaction (sig, act, oact); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigaddset (pace_sigset_t * set, int signo) +pace_sigaddset (sigset_t * set, int signo) { return sigaddset (set, signo); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigemptyset (pace_sigset_t * set) +pace_sigemptyset (sigset_t * set) { return sigemptyset (set); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigdelset (pace_sigset_t * set, int signo) +pace_sigdelset (sigset_t * set, int signo) { return sigdelset (set, signo); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigfillset (pace_sigset_t * set) +pace_sigfillset (sigset_t * set) { return sigfillset (set); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigismember (const pace_sigset_t * set, int signo) +pace_sigismember (const sigset_t * set, int signo) { return sigismember (set, signo); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -pace_sig_pf -pace_signal (int sig, pace_sig_pf func) -{ - return signal (sig, func); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigpending (pace_sigset_t * set) +pace_sigpending (sigset_t * set) { return sigpending (set); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigprocmask (int how, const pace_sigset_t * set, - pace_sigset_t * oset) +pace_sigprocmask (int how, const sigset_t * set, + sigset_t * oset) { return sigprocmask (how, set, oset); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int -pace_sigqueue (pace_pid_t pid, int signo, - const pace_sigval value) +pace_sigqueue (pid_t pid, int signo, + const union sigval value) { return sigqueue (pid, signo, value); } -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ -#if (PACE_HAS_POSIX_SIG_UOF) PACE_INLINE int -pace_sigsuspend (const pace_sigset_t * sigmask) +pace_sigsuspend (const sigset_t * sigmask) { return sigsuspend (sigmask); } -#endif /* PACE_HAS_POSIX_SIG_UOF */ -#if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int -pace_sigtimedwait (const pace_sigset_t * set, pace_siginfo_t * info, - const pace_timespec * timeout) +pace_sigtimedwait (const sigset_t * set, siginfo_t * info, + const struct timespec * timeout) { return sigtimedwait (set, info, timeout); } -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ -#if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int -pace_sigwait (const pace_sigset_t * set, int * sig) +pace_sigwait (const sigset_t * set, int * sig) { - return sigwait (PACE_NONCONST_ARG_CAST (pace_sigset_t *) set, - PACE_VOIDSTARTSTAR_ARG_CAST (void**) sig); +# if defined (PACE_HAS_POSIX_PTHREAD_SEMANTICS) + return sigwait (set, sig); +# else /* !PACE_HAS_POSIX_PTHREAD_SEMANTICS */ + PACE_RETURN_NO_SUPPORT (PACE_ERRNO_LACKS_POSIX_PTHREAD_SEMANTICS); +# endif /* !PACE_HAS_POSIX_PTHREAD_SEMANTICS */ } -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ -#if (PACE_HAS_POSIX_NONUOF_FUNCS) PACE_INLINE int -pace_sigwaitinfo (const pace_sigset_t *set, pace_siginfo_t *info) +pace_sigwaitinfo (const sigset_t *set, siginfo_t *info) { return sigwaitinfo (set, info); } -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ |