summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-25 20:17:34 +0000
committerbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-25 20:17:34 +0000
commit3d3a15c099a03106ba313221e51a58ab8369e5a3 (patch)
tree581a863c00835c19f558aaa31046f03abe4b9d2c
parentc3192cb1d63125ee23bacba5a7514b505b581a18 (diff)
downloadATCD-3d3a15c099a03106ba313221e51a58ab8369e5a3.tar.gz
Changed ACE_OS::sigaction to work with a null value for <nsa> on Windows.
-rw-r--r--ace/OS.i8
1 files changed, 7 insertions, 1 deletions
diff --git a/ace/OS.i b/ace/OS.i
index 31c0d2d9e4a..3b54779aab5 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -9145,7 +9145,13 @@ ACE_OS::sigaction (int signum,
if (osa == 0)
osa = &sa;
- osa->sa_handler = ::signal (signum, nsa->sa_handler);
+ if (nsa == 0)
+ {
+ osa->sa_handler = ::signal (signum, SIG_IGN);
+ ::signal (signum, osa->sa_handler);
+ }
+ else
+ osa->sa_handler = ::signal (signum, nsa->sa_handler);
return osa->sa_handler == SIG_ERR ? -1 : 0;
#elif defined (CHORUS) || defined (ACE_HAS_WINCE) || defined(ACE_PSOS_TM)
ACE_UNUSED_ARG (signum);