… | |
… | |
1752 | if (expect_false (ev_is_active (w))) |
1752 | if (expect_false (ev_is_active (w))) |
1753 | return; |
1753 | return; |
1754 | |
1754 | |
1755 | assert (("ev_signal_start called with illegal signal number", w->signum > 0)); |
1755 | assert (("ev_signal_start called with illegal signal number", w->signum > 0)); |
1756 | |
1756 | |
|
|
1757 | { |
|
|
1758 | #ifndef _WIN32 |
|
|
1759 | sigset_t full, prev; |
|
|
1760 | sigfillset (&full); |
|
|
1761 | sigprocmask (SIG_SETMASK, &full, &prev); |
|
|
1762 | #endif |
|
|
1763 | |
|
|
1764 | array_needsize (ANSIG, signals, signalmax, w->signum, signals_init); |
|
|
1765 | |
|
|
1766 | #ifndef _WIN32 |
|
|
1767 | sigprocmask (SIG_SETMASK, &prev, 0); |
|
|
1768 | #endif |
|
|
1769 | } |
|
|
1770 | |
1757 | ev_start (EV_A_ (W)w, 1); |
1771 | ev_start (EV_A_ (W)w, 1); |
1758 | array_needsize (ANSIG, signals, signalmax, w->signum, signals_init); |
|
|
1759 | wlist_add ((WL *)&signals [w->signum - 1].head, (WL)w); |
1772 | wlist_add ((WL *)&signals [w->signum - 1].head, (WL)w); |
1760 | |
1773 | |
1761 | if (!((WL)w)->next) |
1774 | if (!((WL)w)->next) |
1762 | { |
1775 | { |
1763 | #if _WIN32 |
1776 | #if _WIN32 |