[PATCH 1/1] server: Hold socket reference in sock_poll_event().

Paul Gofman wine at gitlab.winehq.org
Tue Jun 7 15:28:23 CDT 2022


From: Paul Gofman <pgofman at codeweavers.com>

---
 server/sock.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/server/sock.c b/server/sock.c
index 77a88a7fcf7..48ebf59ed88 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -1109,6 +1109,8 @@ static void sock_poll_event( struct fd *fd, int event )
     int error = 0;
 
     assert( sock->obj.ops == &sock_ops );
+    grab_object( &sock->obj );
+
     if (debug_level)
         fprintf(stderr, "socket %p select event: %x\n", sock, event);
 
@@ -1188,6 +1190,7 @@ static void sock_poll_event( struct fd *fd, int event )
     complete_async_polls( sock, event, error );
 
     sock_reselect( sock );
+    release_object( &sock->obj );
 }
 
 static void sock_dump( struct object *obj, int verbose )
-- 
GitLab

https://gitlab.winehq.org/wine/wine/-/merge_requests/202



More information about the wine-devel mailing list