[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r23973 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r23973 - gnunet/src/transport |
Date: |
Mon, 24 Sep 2012 12:05:34 +0200 |
Author: wachs
Date: 2012-09-24 12:05:34 +0200 (Mon, 24 Sep 2012)
New Revision: 23973
Modified:
gnunet/src/transport/plugin_transport_http_client.c
Log:
hunting bugs
Modified: gnunet/src/transport/plugin_transport_http_client.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_client.c 2012-09-24 09:53:13 UTC
(rev 23972)
+++ gnunet/src/transport/plugin_transport_http_client.c 2012-09-24 10:05:34 UTC
(rev 23973)
@@ -170,6 +170,11 @@
int put_tmp_disconnected;
/**
+ * We received data to send while disconnecting, reconnect immediately
+ */
+ int put_reconnect_required;
+
+ /**
* Client receive handle
*/
void *client_get;
@@ -468,6 +473,7 @@
if (GNUNET_YES == s->put_tmp_disconnecting)
{
/* PUT connection is currently getting disconnected */
+ s->put_reconnect_required = GNUNET_YES;
GNUNET_break (0);
return msgbuf_size;
}
@@ -1076,6 +1082,17 @@
s->put_tmp_disconnecting = GNUNET_NO;
s->put_tmp_disconnected = GNUNET_YES;
s->client_put = NULL;
+
+ /*
+ * Handling a rare case:
+ * plugin_send was called during temporary put disconnect,
+ * reconnect required after connection was disconnected
+ */
+ if (GNUNET_YES == s->put_reconnect_required)
+ {
+ s->put_reconnect_required = GNUNET_NO;
+ client_connect_put(s);
+ }
}
if (easy_h == s->client_get)
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r23973 - gnunet/src/transport,
gnunet <=