diff options
Diffstat (limited to 'ot_event.c')
| -rw-r--r-- | ot_event.c | 20 |
1 files changed, 10 insertions, 10 deletions
| @@ -60,7 +60,7 @@ static int event_ctl(int op, int fd, int what, uint32_t generation) { | |||
| 60 | struct epoll_event ev; | 60 | struct epoll_event ev; |
| 61 | 61 | ||
| 62 | memset(&ev, 0, sizeof(ev)); | 62 | memset(&ev, 0, sizeof(ev)); |
| 63 | ev.events = (what & EVENT_READ ? (uint32_t)EPOLLIN : 0) | (what & EVENT_WRITE ? (uint32_t)EPOLLOUT : 0); | 63 | ev.events = (what & EVENT_IN ? (uint32_t)EPOLLIN : 0) | (what & EVENT_OUT ? (uint32_t)EPOLLOUT : 0); |
| 64 | /* The generation rides along inside the kernel, so an event says which | 64 | /* The generation rides along inside the kernel, so an event says which |
| 65 | connection it belongs to without anybody looking it up */ | 65 | connection it belongs to without anybody looking it up */ |
| 66 | ev.data.u64 = ((uint64_t)generation << 32) | (uint32_t)fd; | 66 | ev.data.u64 = ((uint64_t)generation << 32) | (uint32_t)fd; |
| @@ -92,8 +92,8 @@ int event_wait(ot_event *out, int max, int timeout_ms) { | |||
| 92 | out[i].generation = (uint32_t)(g_ready[i].data.u64 >> 32); | 92 | out[i].generation = (uint32_t)(g_ready[i].data.u64 >> 32); |
| 93 | /* A hangup or an error is reported as both, so whichever side the caller | 93 | /* A hangup or an error is reported as both, so whichever side the caller |
| 94 | was waiting on gets to notice */ | 94 | was waiting on gets to notice */ |
| 95 | out[i].what = (events & (EPOLLIN | EPOLLHUP | EPOLLERR) ? EVENT_READ : 0) | | 95 | out[i].what = (events & (EPOLLIN | EPOLLHUP | EPOLLERR) ? EVENT_IN : 0) | |
| 96 | (events & (EPOLLOUT | EPOLLHUP | EPOLLERR) ? EVENT_WRITE : 0); | 96 | (events & (EPOLLOUT | EPOLLHUP | EPOLLERR) ? EVENT_OUT : 0); |
| 97 | } | 97 | } |
| 98 | return count; | 98 | return count; |
| 99 | } | 99 | } |
| @@ -138,9 +138,9 @@ static int event_change(int fd, int what, uint32_t generation, int deleting) { | |||
| 138 | int succeeded = 0, count, i; | 138 | int succeeded = 0, count, i; |
| 139 | 139 | ||
| 140 | EV_SET(&change[0], (uintptr_t)fd, EVFILT_READ, | 140 | EV_SET(&change[0], (uintptr_t)fd, EVFILT_READ, |
| 141 | EV_RECEIPT | ((deleting || !(what & EVENT_READ)) ? EV_DELETE : EV_ADD), 0, 0, udata); | 141 | EV_RECEIPT | ((deleting || !(what & EVENT_IN)) ? EV_DELETE : EV_ADD), 0, 0, udata); |
| 142 | EV_SET(&change[1], (uintptr_t)fd, EVFILT_WRITE, | 142 | EV_SET(&change[1], (uintptr_t)fd, EVFILT_WRITE, |
| 143 | EV_RECEIPT | ((deleting || !(what & EVENT_WRITE)) ? EV_DELETE : EV_ADD), 0, 0, udata); | 143 | EV_RECEIPT | ((deleting || !(what & EVENT_OUT)) ? EV_DELETE : EV_ADD), 0, 0, udata); |
| 144 | 144 | ||
| 145 | if ((count = kevent(g_kqueue, change, 2, result, 2, NULL)) == -1) | 145 | if ((count = kevent(g_kqueue, change, 2, result, 2, NULL)) == -1) |
| 146 | return -1; | 146 | return -1; |
| @@ -197,8 +197,8 @@ int event_wait(ot_event *out, int max, int timeout_ms) { | |||
| 197 | 197 | ||
| 198 | out[i].fd = (int)(uint32_t)udata; | 198 | out[i].fd = (int)(uint32_t)udata; |
| 199 | out[i].generation = (uint32_t)(udata >> 32); | 199 | out[i].generation = (uint32_t)(udata >> 32); |
| 200 | out[i].what = ((g_ready[i].filter == EVFILT_READ || eof) ? EVENT_READ : 0) | | 200 | out[i].what = ((g_ready[i].filter == EVFILT_READ || eof) ? EVENT_IN : 0) | |
| 201 | ((g_ready[i].filter == EVFILT_WRITE || eof) ? EVENT_WRITE : 0); | 201 | ((g_ready[i].filter == EVFILT_WRITE || eof) ? EVENT_OUT : 0); |
| 202 | } | 202 | } |
| 203 | return count; | 203 | return count; |
| 204 | } | 204 | } |
| @@ -232,7 +232,7 @@ void event_deinit(void) { | |||
| 232 | } | 232 | } |
| 233 | 233 | ||
| 234 | static short event_to_poll(int what) { | 234 | static short event_to_poll(int what) { |
| 235 | return (short)((what & EVENT_READ ? POLLIN : 0) | (what & EVENT_WRITE ? POLLOUT : 0)); | 235 | return (short)((what & EVENT_IN ? POLLIN : 0) | (what & EVENT_OUT ? POLLOUT : 0)); |
| 236 | } | 236 | } |
| 237 | 237 | ||
| 238 | static int event_room_for(int fd) { | 238 | static int event_room_for(int fd) { |
| @@ -322,8 +322,8 @@ int event_wait(ot_event *out, int max, int timeout_ms) { | |||
| 322 | continue; | 322 | continue; |
| 323 | out[found].fd = g_pfds[i].fd; | 323 | out[found].fd = g_pfds[i].fd; |
| 324 | out[found].generation = g_generation[i]; | 324 | out[found].generation = g_generation[i]; |
| 325 | out[found].what = (revents & (POLLIN | POLLHUP | POLLERR | POLLNVAL) ? EVENT_READ : 0) | | 325 | out[found].what = (revents & (POLLIN | POLLHUP | POLLERR | POLLNVAL) ? EVENT_IN : 0) | |
| 326 | (revents & (POLLOUT | POLLHUP | POLLERR | POLLNVAL) ? EVENT_WRITE : 0); | 326 | (revents & (POLLOUT | POLLHUP | POLLERR | POLLNVAL) ? EVENT_OUT : 0); |
| 327 | ++found; | 327 | ++found; |
| 328 | } | 328 | } |
| 329 | return found; | 329 | return found; |
