… | |
… | |
2028 | |
2028 | |
2029 | void |
2029 | void |
2030 | ev_feed_signal (int signum) EV_THROW |
2030 | ev_feed_signal (int signum) EV_THROW |
2031 | { |
2031 | { |
2032 | #if EV_MULTIPLICITY |
2032 | #if EV_MULTIPLICITY |
|
|
2033 | ECB_MEMORY_FENCE_ACQUIRE; |
2033 | EV_P = signals [signum - 1].loop; |
2034 | EV_P = signals [signum - 1].loop; |
2034 | |
2035 | |
2035 | if (!EV_A) |
2036 | if (!EV_A) |
2036 | return; |
2037 | return; |
2037 | #endif |
2038 | #endif |
… | |
… | |
3526 | #if EV_MULTIPLICITY |
3527 | #if EV_MULTIPLICITY |
3527 | assert (("libev: a signal must not be attached to two different loops", |
3528 | assert (("libev: a signal must not be attached to two different loops", |
3528 | !signals [w->signum - 1].loop || signals [w->signum - 1].loop == loop)); |
3529 | !signals [w->signum - 1].loop || signals [w->signum - 1].loop == loop)); |
3529 | |
3530 | |
3530 | signals [w->signum - 1].loop = EV_A; |
3531 | signals [w->signum - 1].loop = EV_A; |
|
|
3532 | ECB_MEMORY_FENCE_RELEASE; |
3531 | #endif |
3533 | #endif |
3532 | |
3534 | |
3533 | EV_FREQUENT_CHECK; |
3535 | EV_FREQUENT_CHECK; |
3534 | |
3536 | |
3535 | #if EV_USE_SIGNALFD |
3537 | #if EV_USE_SIGNALFD |