From 2d69ba45d7b815caafcde13a886ebbed45561dba Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 2 Jun 2009 22:14:40 +0200 Subject: [PATCH] server: Reset events on the message queue fd to avoid busy looping when the thread is suspended. --- server/queue.c | 1 + 1 file changed, 1 insertion(+) diff --git a/server/queue.c b/server/queue.c index bc0aea795c3..e603b16972b 100644 --- a/server/queue.c +++ b/server/queue.c @@ -872,6 +872,7 @@ static void msg_queue_poll_event( struct fd *fd, int event ) assert( queue->obj.ops == &msg_queue_ops ); if (event & (POLLERR | POLLHUP)) set_fd_events( fd, -1 ); + else set_fd_events( queue->fd, 0 ); wake_up( &queue->obj, 0 ); }