gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r5355 - GNUnet/src/util/network


From: gnunet
Subject: [GNUnet-SVN] r5355 - GNUnet/src/util/network
Date: Wed, 25 Jul 2007 20:21:38 -0600 (MDT)

Author: grothoff
Date: 2007-07-25 20:21:38 -0600 (Wed, 25 Jul 2007)
New Revision: 5355

Modified:
   GNUnet/src/util/network/select.c
Log:
fx

Modified: GNUnet/src/util/network/select.c
===================================================================
--- GNUnet/src/util/network/select.c    2007-07-25 20:01:38 UTC (rev 5354)
+++ GNUnet/src/util/network/select.c    2007-07-26 02:21:38 UTC (rev 5355)
@@ -233,14 +233,6 @@
              "Destroying session %p of select %p with loss of %u in read and 
%u in write buffer.\n",
              s, sh, s->pos, s->wapos - s->wspos);
 #endif
-  /* signal waiting threads, if any */
-  MUTEX_UNLOCK (sh->lock);
-  sh->ch (sh->ch_cls, sh, s->sock, s->sock_ctx);
-  MUTEX_LOCK (sh->lock);
-  socket_destroy (s->sock);
-  sh->socket_quota++;
-  GROW (s->rbuff, s->rsize, 0);
-  GROW (s->wbuff, s->wsize, 0);
   for (i = 0; i < sh->sessionCount; i++)
     {
       if (sh->sessions[i] == s)
@@ -250,9 +242,16 @@
           break;
         }
     }
-  FREE (s);
   if (sh->sessionCount * 2 < sh->sessionArrayLength)
     GROW (sh->sessions, sh->sessionArrayLength, sh->sessionCount);
+  MUTEX_UNLOCK (sh->lock);
+  sh->ch (sh->ch_cls, sh, s->sock, s->sock_ctx);
+  MUTEX_LOCK (sh->lock);
+  socket_destroy (s->sock);
+  sh->socket_quota++;
+  GROW (s->rbuff, s->rsize, 0);
+  GROW (s->wbuff, s->wsize, 0);
+  FREE (s);
 }
 
 /**





reply via email to

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