Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef ACE_OS_NS_SIGNAL_H
00018 # define ACE_OS_NS_SIGNAL_H
00019
00020 # include "ace/pre.h"
00021
00022 # include "ace/config-lite.h"
00023
00024 # if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 # pragma once
00026 # endif
00027
00028 #include "ace/os_include/os_signal.h"
00029 #include "ace/ACE_export.h"
00030
00031 #if defined (ACE_EXPORT_MACRO)
00032 # undef ACE_EXPORT_MACRO
00033 #endif
00034 #define ACE_EXPORT_MACRO ACE_Export
00035
00036 #if defined (__Lynx__)
00037
00038 # include "ace/os_include/os_pthread.h"
00039 #endif
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #if !defined (ACE_LACKS_SIGSET)
00050 inline int ace_sigemptyset_helper (sigset_t *s)
00051 {
00052 # if defined (sigemptyset)
00053 return sigemptyset (s);
00054 # undef sigemptyset
00055 # else
00056 return ACE_STD_NAMESPACE::sigemptyset (s);
00057 # endif
00058 }
00059
00060 inline int ace_sigfillset_helper (sigset_t *s)
00061 {
00062 # if defined (sigfillset)
00063 return sigfillset (s);
00064 # undef sigfillset
00065 # else
00066 return ACE_STD_NAMESPACE::sigfillset (s);
00067 # endif
00068 }
00069
00070 inline int ace_sigaddset_helper (sigset_t *s, int signum)
00071 {
00072 # if defined (sigaddset)
00073 return sigaddset (s, signum);
00074 # undef sigaddset
00075 # else
00076 return ACE_STD_NAMESPACE::sigaddset (s, signum);
00077 # endif
00078 }
00079
00080 inline int ace_sigdelset_helper (sigset_t *s, int signum)
00081 {
00082 # if defined (sigdelset)
00083 return sigdelset (s, signum);
00084 # undef sigdelset
00085 # else
00086 return ACE_STD_NAMESPACE::sigdelset (s, signum);
00087 # endif
00088 }
00089
00090 inline int ace_sigismember_helper (sigset_t *s, int signum)
00091 {
00092 # if defined (sigismember)
00093 return sigismember (s, signum);
00094 # undef sigismember
00095 # else
00096 return ACE_STD_NAMESPACE::sigismember (s, signum);
00097 # endif
00098 }
00099 #endif
00100
00101 #if defined (ACE_HAS_SIGSUSPEND)
00102 inline int ace_sigsuspend_helper (const sigset_t *s)
00103 {
00104 # if defined (sigsuspend)
00105 return sigsuspend (s);
00106 # undef sigsuspend
00107 # else
00108 return ACE_STD_NAMESPACE::sigsuspend (s);
00109 # endif
00110 }
00111 #endif
00112
00113
00114 # if !defined (SIG_BLOCK)
00115 # define SIG_BLOCK 1
00116 # endif
00117
00118 # if !defined (SIG_UNBLOCK)
00119 # define SIG_UNBLOCK 2
00120 # endif
00121
00122 # if !defined (SIG_SETMASK)
00123 # define SIG_SETMASK 3
00124 # endif
00125
00126
00127
00128 # if !defined (ACE_HAS_SIGINFO_T)
00129 struct ACE_Export siginfo_t
00130 {
00131 siginfo_t (ACE_HANDLE handle);
00132 siginfo_t (ACE_HANDLE *handles);
00133
00134
00135 ACE_HANDLE si_handle_;
00136
00137
00138 ACE_HANDLE *si_handles_;
00139 };
00140 # endif
00141
00142 #if !defined (ACE_WIN32)
00143 extern "C"
00144 {
00145 typedef void (*ACE_SIGNAL_C_FUNC)(int, siginfo_t *, void *);
00146 }
00147 #endif
00148
00149 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162 #if defined (__HP_aCC) && (__HP_aCC <= 37300)
00163 typedef extern "C" struct sigaction ACE_SIGACTION;
00164 #else
00165 typedef struct sigaction ACE_SIGACTION;
00166 #endif
00167
00168 namespace ACE_OS {
00169
00170
00171
00172 ACE_NAMESPACE_INLINE_FUNCTION
00173 int kill (pid_t pid,
00174 int signum);
00175
00176 ACE_NAMESPACE_INLINE_FUNCTION
00177 int pthread_sigmask (int how,
00178 const sigset_t *nsp,
00179 sigset_t *osp);
00180
00181 ACE_NAMESPACE_INLINE_FUNCTION
00182 int sigaction (int signum,
00183 const ACE_SIGACTION *nsa,
00184 ACE_SIGACTION *osa);
00185
00186 ACE_NAMESPACE_INLINE_FUNCTION
00187 int sigaddset (sigset_t *s,
00188 int signum);
00189
00190 ACE_NAMESPACE_INLINE_FUNCTION
00191 int sigdelset (sigset_t *s,
00192 int signum);
00193
00194 ACE_NAMESPACE_INLINE_FUNCTION
00195 int sigemptyset (sigset_t *s);
00196
00197 ACE_NAMESPACE_INLINE_FUNCTION
00198 int sigfillset (sigset_t *s);
00199
00200 ACE_NAMESPACE_INLINE_FUNCTION
00201 int sigismember (sigset_t *s,
00202 int signum);
00203
00204 ACE_NAMESPACE_INLINE_FUNCTION
00205 ACE_SignalHandler signal (int signum,
00206 ACE_SignalHandler);
00207
00208 ACE_NAMESPACE_INLINE_FUNCTION
00209 int sigprocmask (int how,
00210 const sigset_t *nsp,
00211 sigset_t *osp);
00212
00213 ACE_NAMESPACE_INLINE_FUNCTION
00214 int sigsuspend (const sigset_t *s);
00215
00216 ACE_NAMESPACE_INLINE_FUNCTION
00217 int raise (const int signum);
00218
00219
00220 }
00221
00222 ACE_END_VERSIONED_NAMESPACE_DECL
00223
00224 # if defined (ACE_HAS_INLINED_OSCALLS)
00225 # if defined (ACE_INLINE)
00226 # undef ACE_INLINE
00227 # endif
00228 # define ACE_INLINE inline
00229 # include "ace/OS_NS_signal.inl"
00230 # endif
00231
00232 # include "ace/post.h"
00233 #endif