[ros-diffs] [arty] 39447: Calling listen more than once is expected to be benign.

arty at svn.reactos.org arty at svn.reactos.org
Sat Feb 7 02:20:26 CET 2009


Author: arty
Date: Fri Feb  6 19:20:25 2009
New Revision: 39447

URL: http://svn.reactos.org/svn/reactos?rev=39447&view=rev
Log:
Calling listen more than once is expected to be benign.

Modified:
    trunk/reactos/dll/win32/msafd/misc/dllmain.c

Modified: trunk/reactos/dll/win32/msafd/misc/dllmain.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msafd/misc/dllmain.c?rev=39447&r1=39446&r2=39447&view=diff
==============================================================================
--- trunk/reactos/dll/win32/msafd/misc/dllmain.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msafd/misc/dllmain.c [iso-8859-1] Fri Feb  6 19:20:25 2009
@@ -101,6 +101,7 @@
     RtlZeroMemory(Socket, sizeof(*Socket));
     Socket->RefCount = 2;
     Socket->Handle = -1;
+    Socket->SharedData.Listening = FALSE;
     Socket->SharedData.State = SocketOpen;
     Socket->SharedData.AddressFamily = AddressFamily;
     Socket->SharedData.SocketType = SocketType;
@@ -615,6 +616,12 @@
     HANDLE                  SockEvent;
     NTSTATUS                Status;
 
+    /* Get the Socket Structure associate to this Socket*/
+    Socket = GetSocketStructure(Handle);
+
+    if (Socket->SharedData.Listening)
+    	return 0;
+
     Status = NtCreateEvent(&SockEvent,
                            GENERIC_READ | GENERIC_WRITE,
                            NULL,
@@ -623,9 +630,6 @@
 
     if( !NT_SUCCESS(Status) )
         return -1;
-
-    /* Get the Socket Structure associate to this Socket*/
-    Socket = GetSocketStructure(Handle);
 
     /* Set Up Listen Structure */
     ListenData.UseSAN = FALSE;



More information about the Ros-diffs mailing list