diff --git a/doc/kernel/services/polling.rst b/doc/kernel/services/polling.rst index b1d08e35d0d..875b0f77abc 100644 --- a/doc/kernel/services/polling.rst +++ b/doc/kernel/services/polling.rst @@ -187,13 +187,16 @@ to :c:macro:`K_POLL_STATE_NOT_READY` by the user. rc = k_poll(events, ARRAY_SIZE(events), K_FOREVER); if (events[0].state == K_POLL_STATE_SEM_AVAILABLE) { k_sem_take(events[0].sem, 0); - } else if (events[1].state == K_POLL_STATE_FIFO_DATA_AVAILABLE) { + } + if (events[1].state == K_POLL_STATE_FIFO_DATA_AVAILABLE) { data = k_fifo_get(events[1].fifo, 0); // handle data - } else if (events[2].state == K_POLL_STATE_MSGQ_DATA_AVAILABLE) { + } + if (events[2].state == K_POLL_STATE_MSGQ_DATA_AVAILABLE) { ret = k_msgq_get(events[2].msgq, buf, K_NO_WAIT); // handle data - } else if (events[3].state == K_POLL_STATE_PIPE_DATA_AVAILABLE) { + } + if (events[3].state == K_POLL_STATE_PIPE_DATA_AVAILABLE) { ret = k_pipe_get(events[3].pipe, buf, bytes_to_read, &bytes_read, min_xfer, K_NO_WAIT); // handle data }