gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r10638 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r10638 - gnunet/src/transport
Date: Thu, 18 Mar 2010 10:31:00 +0100

Author: grothoff
Date: 2010-03-18 10:31:00 +0100 (Thu, 18 Mar 2010)
New Revision: 10638

Modified:
   gnunet/src/transport/gnunet-service-transport.c
Log:
fix

Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2010-03-17 17:20:19 UTC 
(rev 10637)
+++ gnunet/src/transport/gnunet-service-transport.c     2010-03-18 09:31:00 UTC 
(rev 10638)
@@ -1241,6 +1241,7 @@
   struct ReadyList *rl;
   struct MessageQueue *mq;
   struct GNUNET_TIME_Relative timeout;
+  ssize_t ret;
 
   if (neighbour->messages_head == NULL)
     {
@@ -1339,16 +1340,24 @@
                            gettext_noop ("# bytes pending with plugins"),
                            mq->message_buf_size,
                            GNUNET_NO);
-  rl->plugin->api->send (rl->plugin->api->cls,
-                        &mq->neighbour_id,
-                        mq->message_buf,
-                        mq->message_buf_size,
-                        mq->priority,
-                        GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT,
-                        mq->specific_address->addr,
-                        mq->specific_address->addrlen,
-                        GNUNET_YES /* FIXME: sometimes, we want to be more 
tolerant here! */,
-                        &transmit_send_continuation, mq);
+  ret = rl->plugin->api->send (rl->plugin->api->cls,
+                              &mq->neighbour_id,
+                              mq->message_buf,
+                              mq->message_buf_size,
+                              mq->priority,
+                              GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT,
+                              mq->specific_address->addr,
+                              mq->specific_address->addrlen,
+                              GNUNET_YES /* FIXME: sometimes, we want to be 
more tolerant here! */,
+                              &transmit_send_continuation, mq);
+  if (ret == -1)
+    {
+      /* failure, but 'send' would not call continuation in this case,
+        so we need to do it here! */
+      transmit_send_continuation (mq, 
+                                 &mq->neighbour_id,
+                                 GNUNET_SYSERR);
+    }
 }
 
 





reply via email to

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