From 44c04b83c12e36d3352ff1309373aaf95ddfb7cf Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 23 Jun 2010 15:20:46 +0000 Subject: [PATCH] fix --- src/util/connection.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/util/connection.c b/src/util/connection.c index a855bd1ec..b67da814a 100644 --- a/src/util/connection.c +++ b/src/util/connection.c @@ -622,6 +622,7 @@ connect_fail_continuation (struct GNUNET_CONNECTION_Handle *h) GNUNET_SCHEDULER_cancel (h->sched, h->nth.timeout_task); h->nth.timeout_task = GNUNET_SCHEDULER_NO_TASK; h->ccs -= COCO_TRANSMIT_READY; + GNUNET_assert (h->write_task == GNUNET_SCHEDULER_NO_TASK); h->write_task = GNUNET_SCHEDULER_add_after (h->sched, GNUNET_SCHEDULER_NO_TASK, &transmit_ready, h); @@ -680,6 +681,7 @@ connect_success_continuation (struct GNUNET_CONNECTION_Handle *h) GNUNET_SCHEDULER_cancel (h->sched, h->nth.timeout_task); h->nth.timeout_task = GNUNET_SCHEDULER_NO_TASK; h->ccs -= COCO_TRANSMIT_READY; + GNUNET_assert (h->write_task == GNUNET_SCHEDULER_NO_TASK); h->write_task = GNUNET_SCHEDULER_add_write_net (h->sched, GNUNET_TIME_absolute_get_remaining @@ -1605,6 +1607,9 @@ GNUNET_CONNECTION_notify_transmit_ready (struct GNUNET_CONNECTION_Handle if ((sock->sock == NULL) && (sock->ap_head == NULL) && (sock->dns_active == NULL)) { + if (sock->write_task != GNUNET_SCHEDULER_NO_TASK) + GNUNET_SCHEDULER_cancel (sock->sched, + sock->write_task); sock->write_task = GNUNET_SCHEDULER_add_now (sock->sched, &connect_error, sock); return &sock->nth; -- 2.25.1