Do not free the handles once they have been sent to the client (thanks

to Jeremy White).
This commit is contained in:
Alexandre Julliard 1999-11-07 23:59:08 +00:00
parent cd168e779d
commit c61eb035e3

View File

@ -102,6 +102,10 @@ static int fill_debug_event( struct thread *debugger, struct thread *thread,
/* free a debug event structure */ /* free a debug event structure */
static void free_event( struct thread *debugger, struct debug_event *event ) static void free_event( struct thread *debugger, struct debug_event *event )
{ {
/* If the event has been sent already, the handles are now under the */
/* responsibility of the debugger process, so we don't touch them */
if (!event->sent)
{
switch(event->code) switch(event->code)
{ {
case CREATE_THREAD_DEBUG_EVENT: case CREATE_THREAD_DEBUG_EVENT:
@ -118,6 +122,7 @@ static void free_event( struct thread *debugger, struct debug_event *event )
close_handle( debugger->process, event->data.load_dll.handle ); close_handle( debugger->process, event->data.load_dll.handle );
break; break;
} }
}
event->thread->debug_event = NULL; event->thread->debug_event = NULL;
release_object( event->thread ); release_object( event->thread );
free( event ); free( event );