server: Fix the handling of the signaled status for file descriptors.
    
File handles are signaled when an I/O operation completes, and reset
when another operation is queued.
diff --git a/server/async.c b/server/async.c
index 027dd25..e0877b2 100644
--- a/server/async.c
+++ b/server/async.c
@@ -193,6 +193,7 @@
     list_add_tail( &queue->queue, &async->queue_entry );
     grab_object( async );
 
+    if (queue->fd) set_fd_signaled( queue->fd, 0 );
     if (event) reset_event( event );
     return async;
 }
@@ -230,6 +231,7 @@
             thread_queue_apc( async->thread, NULL, &data );
         }
         if (async->event) set_event( async->event );
+        else if (async->queue->fd) set_fd_signaled( async->queue->fd, 1 );
     }
 }