diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c index f091a5e9aeaace01620d50c6b4d9f25bab61cd52..a1d3e38a2cc9bbe1e89ad4e8edf46a0182f0a736 100644 --- a/common/utils/itti/intertask_interface.c +++ b/common/utils/itti/intertask_interface.c @@ -528,7 +528,7 @@ static inline void itti_receive_msg_internal_event_fd(task_id_t task_id, uint8_t */ epoll_timeout = 0; } else { - /* timeout = -1 causes the epoll_wait to wait indefinetely. + /* timeout = -1 causes the epoll_wait to wait indefinitely. */ epoll_timeout = -1; } @@ -577,6 +577,8 @@ static inline void itti_receive_msg_internal_event_fd(task_id_t task_id, uint8_t DevAssert(message != NULL); *received_msg = message->msg; itti_free (ITTI_MSG_ORIGIN_ID(*received_msg), message); + /* Mark that the event has been processed */ + itti_desc.threads[thread_id].events[i].events &= ~EPOLLIN; return; } }