Fix DHCP from crashing, silence tcp and iphlp
authorAlex Ionescu <aionescu@gmail.com>
Tue, 24 May 2005 21:04:44 +0000 (21:04 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Tue, 24 May 2005 21:04:44 +0000 (21:04 +0000)
svn path=/trunk/; revision=15485

reactos/drivers/net/tcpip/tcpip/main.c
reactos/lib/iphlpapi/ifenum_reactos.c
reactos/lib/ws2_32/misc/dllmain.c
reactos/subsys/system/dhcp/dispatch.c

index 75051a8..7320dce 100644 (file)
@@ -9,7 +9,7 @@
  */
 #include "precomp.h"
 
-//#define NDEBUG
+#define NDEBUG
 
 #ifndef NDEBUG
 DWORD DebugTraceLevel = DEBUG_ULTRA & ~(DEBUG_LOCK | DEBUG_PBUFFER);
index 9b4e705..dd6b02c 100644 (file)
@@ -129,15 +129,15 @@ NTSTATUS tdiGetSetOfThings( HANDLE tcpFile,
     DWORD allocationSizeForEntityArray = entrySize * MAX_TDI_ENTITIES, 
         arraySize = entrySize * MAX_TDI_ENTITIES;
 
-    DbgPrint("TdiGetSetOfThings(tcpFile %x,toiClass %x,toiType %x,toiId %x,"
-           "teiEntity %x,fixedPart %d,entrySize %d)\n",
-           (int)tcpFile, 
-           (int)toiClass, 
-           (int)toiType, 
-           (int)toiId, 
-           (int)teiEntity,
-           (int)fixedPart, 
-           (int)entrySize );
+    TRACE("TdiGetSetOfThings(tcpFile %x,toiClass %x,toiType %x,toiId %x,"
+          "teiEntity %x,fixedPart %d,entrySize %d)\n",
+          (int)tcpFile, 
+          (int)toiClass, 
+          (int)toiType, 
+          (int)toiId, 
+          (int)teiEntity,
+          (int)fixedPart, 
+          (int)entrySize );
 
     req.ID.toi_class                = toiClass;
     req.ID.toi_type                 = toiType;
index e51d0cb..db0756d 100644 (file)
 #ifdef DBG
 
 /* See debug.h for debug/trace constants */
-DWORD DebugTraceLevel = MIN_TRACE;
+//DWORD DebugTraceLevel = MIN_TRACE;
 //DWORD DebugTraceLevel = MAX_TRACE;
 //DWORD DebugTraceLevel = DEBUG_ULTRA;
-
+DWORD DebugTraceLevel = 0;
 #endif /* DBG */
 
 /* To make the linker happy */
@@ -386,8 +386,8 @@ select(
          Sleep( timeout->tv_sec * 1000 + (timeout->tv_usec / 1000) );
       }
       return 0;
-  } else {
-      WS_DbgPrint(MID_TRACE,("Calling WSPSelect\n"));
+  } else if (Provider->ProcTable.lpWSPSelect) {
+      WS_DbgPrint(MID_TRACE,("Calling WSPSelect:%x\n", Provider->ProcTable.lpWSPSelect));
       Count = Provider->ProcTable.lpWSPSelect(
          nfds, readfds, writefds, exceptfds, (LPTIMEVAL)timeout, &Errno);
       
@@ -400,6 +400,9 @@ select(
          WSASetLastError(Errno);
          return SOCKET_ERROR;
       }
+  } else {
+      WSASetLastError(WSAEINVAL);
+      return SOCKET_ERROR;
   }
 
   return Count;
index 439bc5b..82a6c76 100644 (file)
@@ -186,8 +186,10 @@ dispatch(void)
             if (errno == EAGAIN || errno == EINTR) {
                 time(&cur_time);
                 continue;
-            } else
+            } else {
                 error("poll: %m");
+                break;
+            }
         }
 
         /* Get the current time... */