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/win3…
==============================================================================
--- 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);
}
}
}