summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAymeric Moizard <amoizard@gmail.com>2023-11-20 16:49:14 +0100
committerAymeric Moizard <amoizard@gmail.com>2023-11-20 16:49:14 +0100
commit6d8406c2c6f651cac37f2fed45b484fb97a017c2 (patch)
treeb1bee4cb1973a6b5a8a7ede00cb911bb9c58999f
parent866dee2a910b1afbac1080d68f8c8c2b716d4d66 (diff)
downloadexosip-master.tar.gz
[epoll] if there is no event AND eXosip_event_wait(ctx, 0, 0) is used, then descriptor j_socketctl_event is flushed to avoid next wake upHEADmaster
-rw-r--r--src/jevents.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/jevents.c b/src/jevents.c
index b750bd6..5f517b1 100644
--- a/src/jevents.c
+++ b/src/jevents.c
@@ -395,8 +395,11 @@ static eXosip_event_t *eXosip_event_wait_epoll(struct eXosip_t *excontext, int t
_eXosip_retransmit_lost200ok(excontext);
eXosip_unlock(excontext);
- if (tv_s == 0 && tv_ms == 0)
+ if (tv_s == 0 && tv_ms == 0) {
+ char buf[500];
+ jpipe_read(excontext->j_socketctl_event, buf, 499);
return NULL;
+ }
nfds = epoll_wait(excontext->epfdctl, &ep_array, 1, tv_s * 1000 + tv_ms);