gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r33212 - gnunet/src/scalarproduct


From: gnunet
Subject: [GNUnet-SVN] r33212 - gnunet/src/scalarproduct
Date: Wed, 7 May 2014 18:21:06 +0200

Author: cfuchs
Date: 2014-05-07 18:21:06 +0200 (Wed, 07 May 2014)
New Revision: 33212

Modified:
   gnunet/src/scalarproduct/gnunet-service-scalarproduct.c
Log:
- more abnormal session-termination handling

Modified: gnunet/src/scalarproduct/gnunet-service-scalarproduct.c
===================================================================
--- gnunet/src/scalarproduct/gnunet-service-scalarproduct.c     2014-05-07 
15:25:21 UTC (rev 33211)
+++ gnunet/src/scalarproduct/gnunet-service-scalarproduct.c     2014-05-07 
16:21:06 UTC (rev 33212)
@@ -732,10 +732,16 @@
   //disconnect our client
   if (NULL == session->service_transmit_handle) {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _ ("Could not send service-response 
message via cadet!)\n"));
-
+    
+    GNUNET_free (msg);
+    session->msg = NULL;
+    GNUNET_CONTAINER_DLL_remove (from_service_head, from_service_tail, 
session);
+    
     session->response->client_notification_task =
             GNUNET_SCHEDULER_add_now (&prepare_client_end_notification,
                                       session->response);
+    free_session_variables(session);
+    GNUNET_free(session);
     return;
   }
   if (session->transferred_element_count != session->used_elements_count) {
@@ -821,9 +827,16 @@
   if (NULL == session->service_transmit_handle) {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _ ("Could not send service-response 
message via cadet!)\n"));
 
+    GNUNET_free (msg);
+    session->msg = NULL;
+    GNUNET_CONTAINER_DLL_remove (from_service_head, from_service_tail, 
session);
+    
     session->response->client_notification_task =
             GNUNET_SCHEDULER_add_now (&prepare_client_end_notification,
                                       session->response);
+    free_session_variables(session);
+    GNUNET_free(session);
+    return;
   }
   if (session->transferred_element_count != session->used_elements_count) {
     // multipart




reply via email to

[Prev in Thread] Current Thread [Next in Thread]