… | |
… | |
5003 | void |
5003 | void |
5004 | ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg) EV_NOEXCEPT |
5004 | ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg) EV_NOEXCEPT |
5005 | { |
5005 | { |
5006 | struct ev_once *once = (struct ev_once *)ev_malloc (sizeof (struct ev_once)); |
5006 | struct ev_once *once = (struct ev_once *)ev_malloc (sizeof (struct ev_once)); |
5007 | |
5007 | |
5008 | if (expect_false (!once)) |
|
|
5009 | { |
|
|
5010 | cb (EV_ERROR | EV_READ | EV_WRITE | EV_TIMER, arg); |
|
|
5011 | return; |
|
|
5012 | } |
|
|
5013 | |
|
|
5014 | once->cb = cb; |
5008 | once->cb = cb; |
5015 | once->arg = arg; |
5009 | once->arg = arg; |
5016 | |
5010 | |
5017 | ev_init (&once->io, once_cb_io); |
5011 | ev_init (&once->io, once_cb_io); |
5018 | if (fd >= 0) |
5012 | if (fd >= 0) |