[ros-diffs] [fireball] 43999: - Satisfy only one thread waiting on message queue at a time as expected by the original implementation.

fireball at svn.reactos.org fireball at svn.reactos.org
Sat Nov 7 16:06:32 CET 2009


Author: fireball
Date: Sat Nov  7 16:06:32 2009
New Revision: 43999

URL: http://svn.reactos.org/svn/reactos?rev=43999&view=rev
Log:
- Satisfy only one thread waiting on message queue at a time as expected by the original implementation.

Modified:
    branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c

Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c?rev=43999&r1=43998&r2=43999&view=diff
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c [iso-8859-1] Sat Nov  7 16:06:32 2009
@@ -253,7 +253,7 @@
     if ((queue = alloc_object( &msg_queue_ops )))
     {
         queue->fd              = NULL;
-        ZwCreateEvent(&queue->wake_event, EVENT_ALL_ACCESS, NULL, NotificationEvent, FALSE);
+        ZwCreateEvent(&queue->wake_event, EVENT_ALL_ACCESS, NULL, SynchronizationEvent, FALSE);
         /* Get a pointer to the object itself */
         ObReferenceObjectByHandle(queue->wake_event,
                                   EVENT_ALL_ACCESS,
@@ -338,7 +338,7 @@
     queue->changed_bits |= bits;
     if (is_signaled( queue ))
     {
-        KePulseEvent(queue->wake_event_ptr, EVENT_INCREMENT, FALSE);
+        KeSetEvent(queue->wake_event_ptr, EVENT_INCREMENT, FALSE);
     }
 }
 
@@ -914,7 +914,7 @@
 
     if (event & (POLLERR | POLLHUP)) set_fd_events( fd, -1 );
     else set_fd_events( queue->fd, 0 );
-    KePulseEvent(queue->wake_event_ptr, EVENT_INCREMENT, FALSE);
+    KeSetEvent(queue->wake_event_ptr, EVENT_INCREMENT, FALSE);
 }
 
 static void thread_input_dump( struct object *obj, int verbose )
@@ -1686,7 +1686,7 @@
             }
             else
             {
-                KePulseEvent(queue->wake_event_ptr, EVENT_INCREMENT, FALSE);
+                KeSetEvent(queue->wake_event_ptr, EVENT_INCREMENT, FALSE);
             }
         }
     }




More information about the Ros-diffs mailing list