[OSKITTCP]
[reactos.git] / reactos / lib / drivers / oskittcp / oskittcp / interface.c
index a925d33..db0b3a8 100644 (file)
@@ -48,8 +48,6 @@ void fbsd_free( void *data, char *file, unsigned line, ... ) {
 void InitOskitTCP() {
     OS_DbgPrint(OSK_MID_TRACE,("Init Called\n"));
     KeInitializeSpinLock(&OSKLock);
-    OS_DbgPrint(OSK_MID_TRACE,("MB Init\n"));
-    mbinit();
     OS_DbgPrint(OSK_MID_TRACE,("Rawip Init\n"));
     rip_init();
     raw_init();
@@ -131,6 +129,7 @@ int OskitTCPSocket( void *context,
     if( !error ) {
        so->so_connection = context;
        so->so_state |= SS_NBIO;
+    so->so_options |= SO_DONTROUTE;
        *aso = so;
     }
     OSKUnlock();
@@ -285,16 +284,11 @@ int OskitTCPShutdown( void *socket, int disconn_type ) {
 
 int OskitTCPClose( void *socket ) {
     int error;
-    struct socket *so = socket;
 
     if (!socket)
         return OSK_ESHUTDOWN;
 
     OSKLock();
-    /* We have to remove the socket context here otherwise we end up
-     * back in HandleSignalledConnection with a freed connection context
-     */
-    so->so_connection = NULL;
     error = soclose( socket );
     OSKUnlock();
 
@@ -408,7 +402,7 @@ int OskitTCPAccept( void *socket,
 
        so->so_state |= SS_NBIO | SS_ISCONNECTED;
         so->so_q = so->so_q0 = NULL;
-        so->so_qlen = 0;
+        so->so_qlen = so->so_q0len = 0;
         so->so_head = 0;
         so->so_connection = context;