gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r9537 - GNUnet/src/transports


From: gnunet
Subject: [GNUnet-SVN] r9537 - GNUnet/src/transports
Date: Sun, 15 Nov 2009 15:48:06 -0700

Author: grothoff
Date: 2009-11-15 15:48:05 -0700 (Sun, 15 Nov 2009)
New Revision: 9537

Modified:
   GNUnet/src/transports/http.c
Log:
trying to fix 1487:


Modified: GNUnet/src/transports/http.c
===================================================================
--- GNUnet/src/transports/http.c        2009-11-15 22:38:44 UTC (rev 9536)
+++ GNUnet/src/transports/http.c        2009-11-15 22:48:05 UTC (rev 9537)
@@ -588,7 +588,9 @@
     stats->change (stat_mhd_close_callbacks, 1);
   if (httpsession == NULL)
     return;                     /* oops */
+  GNUNET_mutex_lock (lock);
   GNUNET_GE_ASSERT (NULL, !httpsession->is_client);
+  httpsession->is_mhd_active--;
   pprev = NULL;
   ppos = httpsession->cs.server.puts;
   while (ppos != NULL)
@@ -596,7 +598,12 @@
       if (ppos->session == session)
         {
           ppos->last_activity = 0;
+         if (pprev != NULL)
+           pprev->next = ppos->next;
+         else
+           httpsession->cs.server.puts = ppos->next;
           signal_select ();
+         GNUNET_mutex_unlock (lock);
           return;
         }
       pprev = ppos;
@@ -610,14 +617,19 @@
       if (gpos->session == session)
         {
           gpos->last_get_activity = 0;
+         if (gprev != NULL)
+           gprev->next = gpos->next;
+         else
+           httpsession->cs.server.gets = gpos->next;
           signal_select ();
+         GNUNET_mutex_unlock (lock);
           return;
         }
       gprev = gpos;
       gpos = gpos->next;
     }
 #endif
-  httpsession->is_mhd_active--;
+  GNUNET_mutex_unlock (lock);
 }
 
 /**





reply via email to

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