MinGW
[oweals/gnunet.git] / src / util / server.c
index 2237911515e989d2bac223657cb5172a3ae73f1d..1353d4c057c1412f9aee218aa49f732d3b1f90e1 100644 (file)
@@ -937,7 +937,7 @@ sock_check (void *cls)
 static void
 sock_destroy (void *cls)
 {
-  GNUNET_CONNECTION_destroy (cls);
+  GNUNET_CONNECTION_destroy (cls, GNUNET_NO);
 }
 
 
@@ -1198,7 +1198,7 @@ GNUNET_SERVER_client_disconnect (struct GNUNET_SERVER_Client *client)
     }
   if (rc > 0)
     return;
-  if (client->in_process_client_buffer)
+  if (client->in_process_client_buffer == GNUNET_YES)
     return;
   client->destroy (client->client_closure);
   GNUNET_free (client);  
@@ -1274,6 +1274,11 @@ GNUNET_SERVER_receive_done (struct GNUNET_SERVER_Client *client, int success)
       GNUNET_free (sb);
       return;
     }
+  if (client->server == NULL)
+    {
+      GNUNET_SERVER_client_disconnect (client);
+      return;
+    }
   client->restart_task = GNUNET_SCHEDULER_add_now (client->server->sched,
                                                   &restart_processing,
                                                   client);