diff options
| author | root <root> | 2007-12-11 22:04:55 +0000 | 
|---|---|---|
| committer | root <root> | 2007-12-11 22:04:55 +0000 | 
| commit | 71cf1659dedacff243a2aa51499d4a75e48f9443 (patch) | |
| tree | 892730e3b076b5bfd9a605b838637e4a18f251ef | |
| parent | 05b6c3fe61a9e53d10406c6b7558c39f0a195514 (diff) | |
*** empty log message ***
| -rw-r--r-- | ev.c | 15 | 
1 files changed, 14 insertions, 1 deletions
@@ -1754,8 +1754,21 @@ ev_signal_start (EV_P_ ev_signal *w)    assert (("ev_signal_start called with illegal signal number", w->signum > 0)); +  { +#ifndef _WIN32 +    sigset_t full, prev; +    sigfillset (&full); +    sigprocmask (SIG_SETMASK, &full, &prev); +#endif + +    array_needsize (ANSIG, signals, signalmax, w->signum, signals_init); + +#ifndef _WIN32 +    sigprocmask (SIG_SETMASK, &prev, 0); +#endif +  } +    ev_start (EV_A_ (W)w, 1); -  array_needsize (ANSIG, signals, signalmax, w->signum, signals_init);    wlist_add ((WL *)&signals [w->signum - 1].head, (WL)w);    if (!((WL)w)->next)  | 
