server: Set the queue mask directly in get_message to avoid an extra server call.
diff --git a/server/protocol.def b/server/protocol.def
index 0ce75f5..e210e43 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1859,6 +1859,8 @@
unsigned int get_first; /* first message code to get */
unsigned int get_last; /* last message code to get */
unsigned int hw_id; /* id of the previous hardware message (or 0) */
+ unsigned int wake_mask; /* wakeup bits mask */
+ unsigned int changed_mask; /* changed bits mask */
@REPLY
user_handle_t win; /* window handle */
int type; /* message type */
diff --git a/server/queue.c b/server/queue.c
index 5188f0d..1e8de22 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1828,6 +1828,8 @@
return;
}
+ queue->wake_mask = req->wake_mask;
+ queue->changed_mask = req->changed_mask;
set_error( STATUS_PENDING ); /* FIXME */
}
diff --git a/server/trace.c b/server/trace.c
index e707e47..49f4479 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -2304,7 +2304,9 @@
fprintf( stderr, " get_win=%p,", req->get_win );
fprintf( stderr, " get_first=%08x,", req->get_first );
fprintf( stderr, " get_last=%08x,", req->get_last );
- fprintf( stderr, " hw_id=%08x", req->hw_id );
+ fprintf( stderr, " hw_id=%08x,", req->hw_id );
+ fprintf( stderr, " wake_mask=%08x,", req->wake_mask );
+ fprintf( stderr, " changed_mask=%08x", req->changed_mask );
}
static void dump_get_message_reply( const struct get_message_reply *req )