mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-21 00:07:36 +08:00
* 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.
This commit is contained in:
parent
7c3db8ea2e
commit
859d85dee0
@ -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>
|
2004-10-07 Mark Paulus <mark.paulus@mci.com>
|
||||||
|
|
||||||
* fhandler_tty.cc (fhandler_tty_slave::read): Use previously
|
* fhandler_tty.cc (fhandler_tty_slave::read): Use previously
|
||||||
|
@ -278,6 +278,7 @@ struct init_cygheap
|
|||||||
size_t sthreads;
|
size_t sthreads;
|
||||||
int open_fhs;
|
int open_fhs;
|
||||||
pid_t pid; /* my pid */
|
pid_t pid; /* my pid */
|
||||||
|
const char *system_root;
|
||||||
void close_ctty ();
|
void close_ctty ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -326,7 +326,7 @@ struct pthread_cleanup
|
|||||||
_sig_func_ptr oldint;
|
_sig_func_ptr oldint;
|
||||||
_sig_func_ptr oldquit;
|
_sig_func_ptr oldquit;
|
||||||
sigset_t oldmask;
|
sigset_t oldmask;
|
||||||
pthread_cleanup (): oldint (NULL), oldquit (NULL), oldmask (0) {}
|
pthread_cleanup (): oldint (NULL), oldquit (NULL), oldmask ((sigset_t) -1) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -337,7 +337,7 @@ do_cleanup (void *args)
|
|||||||
signal (SIGINT, cleanup->oldint);
|
signal (SIGINT, cleanup->oldint);
|
||||||
if (cleanup->oldquit)
|
if (cleanup->oldquit)
|
||||||
signal (SIGQUIT, cleanup->oldquit);
|
signal (SIGQUIT, cleanup->oldquit);
|
||||||
if (cleanup->oldmask)
|
if (cleanup->oldmask != (sigset_t) -1)
|
||||||
sigprocmask (SIG_SETMASK, &(cleanup->oldmask), NULL);
|
sigprocmask (SIG_SETMASK, &(cleanup->oldmask), NULL);
|
||||||
# undef cleanup
|
# undef cleanup
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user