diff options
author | Mikhail Burakov <mburakov@mailbox.org> | 2022-12-26 12:14:46 +0100 |
---|---|---|
committer | Mikhail Burakov <mburakov@mailbox.org> | 2022-12-26 12:14:46 +0100 |
commit | 1b661ca51f4bd42c9aeba8dbedff691d69623263 (patch) | |
tree | d3058929cddd521dacb6001cc27b051a48bade48 /io_muxer.c | |
parent | 98457dcd5c0913679395a1a22442cef97212f03c (diff) |
Remove inner loop from io muxer
Diffstat (limited to 'io_muxer.c')
-rw-r--r-- | io_muxer.c | 29 |
1 files changed, 14 insertions, 15 deletions
@@ -87,22 +87,21 @@ bool IoMuxerOnWrite(struct IoMuxer* io_muxer, int fd, void (*fun)(void*), } enum IoMuxerResult IoMuxerIterate(struct IoMuxer* io_muxer, int timeout) { - for (;;) { - CompressRecords(io_muxer); - int result = poll(io_muxer->pfds, io_muxer->size, timeout); - switch (result) { - case -1: - return kIoMuxerResultError; - case 0: - return kIoMuxerResultTimeout; - default: - break; - } - for (size_t i = 0; i < io_muxer->size; i++) { - if (io_muxer->pfds[i].revents) - io_muxer->tasks[i].fun(io_muxer->tasks[i].user); - } + CompressRecords(io_muxer); + int result = poll(io_muxer->pfds, io_muxer->size, timeout); + switch (result) { + case -1: + return kIoMuxerResultError; + case 0: + return kIoMuxerResultTimeout; + default: + break; + } + for (size_t i = 0; i < io_muxer->size; i++) { + if (io_muxer->pfds[i].revents) + io_muxer->tasks[i].fun(io_muxer->tasks[i].user); } + return kIoMuxerResultSuccess; } void IoMuxerDestroy(struct IoMuxer* io_muxer) { |