server/sock.c: infinite recursion fix

Brian Vincent vinn at theshell.com
Sat Dec 27 09:17:34 CST 2003


Small fix ported from ReWind.  Changes by Ove.

Changelog:
	Ove Kaaven
	Fixed an infinite recursion.	

Index: server/sock.c
===================================================================
RCS file: /home/wine/wine/server/sock.c,v
retrieving revision 1.46
diff -u -r1.46 sock.c
--- server/sock.c	5 Sep 2003 23:15:41 -0000	1.46
+++ server/sock.c	27 Dec 2003 15:12:07 -0000
@@ -415,6 +415,9 @@
         }
     }
 
+    /* wake up anyone waiting for whatever just happened */
+    if ( sock->pmask & sock->mask || sock->flags & FD_FLAG_OVERLAPPED ) sock_wake_up( sock, event );
+
     if ( sock->pmask & FD_CLOSE || event & (POLLERR|POLLHUP) )
     {
         if ( debug_level )
@@ -423,9 +426,6 @@
     }
     else
         sock_reselect( sock );
-
-    /* wake up anyone waiting for whatever just happened */
-    if ( sock->pmask & sock->mask || sock->flags & FD_FLAG_OVERLAPPED ) sock_wake_up( sock, event );
 
     /* if anyone is stupid enough to wait on the socket object itself,
      * maybe we should wake them up too, just in case? */



More information about the wine-patches mailing list