]> sourceware.org Git - newlib-cygwin.git/commitdiff
* spawn.cc (pthread_cleanup::oldmask): Default to invalid signal mask.
authorChristopher Faylor <me@cgf.cx>
Thu, 7 Oct 2004 16:49:30 +0000 (16:49 +0000)
committerChristopher Faylor <me@cgf.cx>
Thu, 7 Oct 2004 16:49:30 +0000 (16:49 +0000)
(do_cleanup): Test for invalid signal mask to decide whether to restore the
mask rather than assuming zero mask indicates that there is nothing to do.

winsup/cygwin/ChangeLog
winsup/cygwin/cygheap.h
winsup/cygwin/spawn.cc

index 8ded614094088ed079287ef97ba3fb6e8661d7db..90199f3782e0d2c3b133a40f8675b0ec309b918c 100644 (file)
@@ -1,3 +1,10 @@
+2004-10-07  Christopher Faylor  <cgf@timesys.com>
+
+       * spawn.cc (pthread_cleanup::oldmask): Default to invalid signal mask.
+       (do_cleanup): Test for invalid signal mask to decide whether to restore
+       the mask rather than assuming zero mask indicates that there is nothing
+       to do.
+
 2004-10-07  Mark Paulus  <mark.paulus@mci.com>
 
        * fhandler_tty.cc (fhandler_tty_slave::read): Use previously
index b8203bf08464a965eed5909b1934607242bbfa5d..1ab3a7f793377698656441cf75220d1e01f057f6 100644 (file)
@@ -278,6 +278,7 @@ struct init_cygheap
   size_t sthreads;
   int open_fhs;
   pid_t pid;                   /* my pid */
+  const char *system_root;
   void close_ctty ();
 };
 
index 0766b40a73194cb8f7858973f5dbef1a09587338..db4210b31a83336d78efd54f360f3e267e2a78db 100644 (file)
@@ -326,7 +326,7 @@ struct pthread_cleanup
   _sig_func_ptr oldint;
   _sig_func_ptr oldquit;
   sigset_t oldmask;
-  pthread_cleanup (): oldint (NULL), oldquit (NULL), oldmask (0) {}
+  pthread_cleanup (): oldint (NULL), oldquit (NULL), oldmask ((sigset_t) -1) {}
 };
 
 static void
@@ -337,7 +337,7 @@ do_cleanup (void *args)
     signal (SIGINT, cleanup->oldint);
   if (cleanup->oldquit)
     signal (SIGQUIT, cleanup->oldquit);
-  if (cleanup->oldmask)
+  if (cleanup->oldmask != (sigset_t) -1)
     sigprocmask (SIG_SETMASK, &(cleanup->oldmask), NULL);
 # undef cleanup
 }
This page took 0.038341 seconds and 5 git commands to generate.