gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r20357 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r20357 - gnunet/src/util
Date: Wed, 7 Mar 2012 21:40:06 +0100

Author: grothoff
Date: 2012-03-07 21:40:06 +0100 (Wed, 07 Mar 2012)
New Revision: 20357

Modified:
   gnunet/src/util/connection.c
Log:
-trying to fix #2198 -- or at least a related bug

Modified: gnunet/src/util/connection.c
===================================================================
--- gnunet/src/util/connection.c        2012-03-07 20:31:26 UTC (rev 20356)
+++ gnunet/src/util/connection.c        2012-03-07 20:40:06 UTC (rev 20357)
@@ -1388,6 +1388,7 @@
     GNUNET_NETWORK_socket_shutdown (sock->sock, SHUT_RDWR);
     GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (sock->sock));
     sock->sock = NULL;
+    GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == sock->write_task);
   }
   if (sock->read_task != GNUNET_SCHEDULER_NO_TASK)
   {
@@ -1464,6 +1465,7 @@
          _
          ("Could not satisfy pending transmission request, socket closed or 
connect failed (%p).\n"),
          sock);
+    GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == sock->write_task);
     transmit_error (sock);
     return;                     /* connect failed for good, we're finished */
   }
@@ -1495,6 +1497,11 @@
     if (errno == EINTR)
       goto RETRY;
     LOG_STRERROR (GNUNET_ERROR_TYPE_DEBUG, "send");
+    if (GNUNET_SCHEDULER_NO_TASK != sock->write_task)
+    {
+      GNUNET_SCHEDULER_cancel (sock->write_task);
+      sock->write_task = GNUNET_SCHEDULER_NO_TASK;
+    }
     transmit_error (sock);
     return;
   }




reply via email to

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