Module: wine Branch: master Commit: 3447567b42fc5ea7ccf80876ad68ca4afb49e291 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3447567b42fc5ea7ccf80876ad...
Author: Sebastian Lackner sebastian@fds-team.de Date: Sat Jun 21 22:56:22 2014 +0200
server: Grab borrowed debugger reference while handling wake_up() events. (Valgrind).
---
server/debugger.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/server/debugger.c b/server/debugger.c index 3315f6e..3ccec29 100644 --- a/server/debugger.c +++ b/server/debugger.c @@ -241,7 +241,13 @@ static void link_event( struct debug_event *event ) assert( debug_ctx ); grab_object( event ); list_add_tail( &debug_ctx->event_queue, &event->entry ); - if (!event->sender->debug_event) wake_up( &debug_ctx->obj, 0 ); + if (!event->sender->debug_event) + { + /* grab reference since debugger could be killed while trying to wake up */ + grab_object( debug_ctx ); + wake_up( &debug_ctx->obj, 0 ); + release_object( debug_ctx ); + } }
/* find the next event that we can send to the debugger */