From 64155043d4b27911a6bcf94b625b6fd8ecaa01ab Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 25 May 2010 16:04:21 +0000 Subject: [PATCH] fixing handling of transmit errors --- src/util/connection.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/util/connection.c b/src/util/connection.c index 290a361b3..8c7a2c4f8 100644 --- a/src/util/connection.c +++ b/src/util/connection.c @@ -1352,6 +1352,14 @@ transmit_error (struct GNUNET_CONNECTION_Handle *sock) GNUNET_NETWORK_socket_close (sock->sock)); sock->sock = NULL; } + if (sock->read_task != GNUNET_SCHEDULER_NO_TASK) + { + GNUNET_SCHEDULER_cancel (sock->sched, + sock->read_task); + sock->read_task = GNUNET_SCHEDULER_NO_TASK; + signal_timeout (sock); + return; + } if (sock->nth.notify_ready == NULL) return; /* nobody to tell about it */ notify = sock->nth.notify_ready; -- 2.25.1