… | |
… | |
3313 | it by calling C<ev_async_send>, which is thread- and signal safe. |
3313 | it by calling C<ev_async_send>, which is thread- and signal safe. |
3314 | |
3314 | |
3315 | This functionality is very similar to C<ev_signal> watchers, as signals, |
3315 | This functionality is very similar to C<ev_signal> watchers, as signals, |
3316 | too, are asynchronous in nature, and signals, too, will be compressed |
3316 | too, are asynchronous in nature, and signals, too, will be compressed |
3317 | (i.e. the number of callback invocations may be less than the number of |
3317 | (i.e. the number of callback invocations may be less than the number of |
3318 | C<ev_async_sent> calls). In fact, you could use signal watchers as a kind |
3318 | C<ev_async_send> calls). In fact, you could use signal watchers as a kind |
3319 | of "global async watchers" by using a watcher on an otherwise unused |
3319 | of "global async watchers" by using a watcher on an otherwise unused |
3320 | signal, and C<ev_feed_signal> to signal this watcher from another thread, |
3320 | signal, and C<ev_feed_signal> to signal this watcher from another thread, |
3321 | even without knowing which loop owns the signal. |
3321 | even without knowing which loop owns the signal. |
3322 | |
3322 | |
3323 | =head3 Queueing |
3323 | =head3 Queueing |