mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-08-29 05:10:49 +00:00
system/uorb:Loop bug fix
Fixed the epoll issue that when multiple events come only the first POLLIN is entered. Signed-off-by: likun17 <likun17@xiaomi.com>
This commit is contained in:
parent
11c8220fd5
commit
3d97bf02e4
1 changed files with 6 additions and 3 deletions
|
|
@ -105,7 +105,8 @@ static int orb_loop_epoll_run(FAR struct orb_loop_s *loop)
|
|||
uorberr("epoll wait data in error! fd:%d", handle->fd);
|
||||
}
|
||||
}
|
||||
else if (et[i].events & EPOLLOUT)
|
||||
|
||||
if (et[i].events & EPOLLOUT)
|
||||
{
|
||||
if (handle->dataout_cb != NULL)
|
||||
{
|
||||
|
|
@ -116,7 +117,8 @@ static int orb_loop_epoll_run(FAR struct orb_loop_s *loop)
|
|||
uorberr("epoll wait data out error! fd:%d", handle->fd);
|
||||
}
|
||||
}
|
||||
else if (et[i].events & EPOLLPRI)
|
||||
|
||||
if (et[i].events & EPOLLPRI)
|
||||
{
|
||||
if (handle->eventpri_cb != NULL)
|
||||
{
|
||||
|
|
@ -127,7 +129,8 @@ static int orb_loop_epoll_run(FAR struct orb_loop_s *loop)
|
|||
uorberr("epoll wait events pri error! fd:%d", handle->fd);
|
||||
}
|
||||
}
|
||||
else if (et[i].events & EPOLLERR)
|
||||
|
||||
if (et[i].events & EPOLLERR)
|
||||
{
|
||||
if (handle->eventerr_cb != NULL)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue