server: Reset events on the message queue fd to avoid busy looping when the thread is suspended.
This commit is contained in:
parent
f39e7182e1
commit
2d69ba45d7
@ -872,6 +872,7 @@ static void msg_queue_poll_event( struct fd *fd, int event )
|
|||||||
assert( queue->obj.ops == &msg_queue_ops );
|
assert( queue->obj.ops == &msg_queue_ops );
|
||||||
|
|
||||||
if (event & (POLLERR | POLLHUP)) set_fd_events( fd, -1 );
|
if (event & (POLLERR | POLLHUP)) set_fd_events( fd, -1 );
|
||||||
|
else set_fd_events( queue->fd, 0 );
|
||||||
wake_up( &queue->obj, 0 );
|
wake_up( &queue->obj, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user