diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-05-31 17:12:40 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-05-31 17:12:40 +0000 |
commit | dc994999f6702effb64e5bfc3eb727ee0f3723ef (patch) | |
tree | df75205459c4158e904d0d1a0efbba85f44294f6 /src/transport/gnunet-service-transport_neighbours.c | |
parent | 4050d669768bdb267134a6a6cef9323bd107f79e (diff) | |
download | gnunet-dc994999f6702effb64e5bfc3eb727ee0f3723ef.tar.gz gnunet-dc994999f6702effb64e5bfc3eb727ee0f3723ef.zip |
-fix assertion failure
Diffstat (limited to 'src/transport/gnunet-service-transport_neighbours.c')
-rw-r--r-- | src/transport/gnunet-service-transport_neighbours.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c index 59132bddc..47e271387 100644 --- a/src/transport/gnunet-service-transport_neighbours.c +++ b/src/transport/gnunet-service-transport_neighbours.c | |||
@@ -986,7 +986,8 @@ send_disconnect_cont (void *cls, const struct GNUNET_PeerIdentity *target, | |||
986 | if (S_DISCONNECT != n->state) | 986 | if (S_DISCONNECT != n->state) |
987 | return; /* have created a fresh entry since */ | 987 | return; /* have created a fresh entry since */ |
988 | n->state = S_DISCONNECT; | 988 | n->state = S_DISCONNECT; |
989 | GNUNET_SCHEDULER_cancel (n->task); | 989 | if (GNUNET_SCHEDULER_NO_TASK != n->task) |
990 | GNUNET_SCHEDULER_cancel (n->task); | ||
990 | n->task = GNUNET_SCHEDULER_add_now (&master_task, n); | 991 | n->task = GNUNET_SCHEDULER_add_now (&master_task, n); |
991 | } | 992 | } |
992 | 993 | ||
@@ -1133,7 +1134,8 @@ transmit_send_continuation (void *cls, | |||
1133 | /* this is still "our" neighbour, remove us from its queue | 1134 | /* this is still "our" neighbour, remove us from its queue |
1134 | and allow it to send the next message now */ | 1135 | and allow it to send the next message now */ |
1135 | n->is_active = NULL; | 1136 | n->is_active = NULL; |
1136 | GNUNET_SCHEDULER_cancel (n->task); | 1137 | if (GNUNET_SCHEDULER_NO_TASK != n->task) |
1138 | GNUNET_SCHEDULER_cancel (n->task); | ||
1137 | n->task = GNUNET_SCHEDULER_add_now (&master_task, n); | 1139 | n->task = GNUNET_SCHEDULER_add_now (&master_task, n); |
1138 | } | 1140 | } |
1139 | GNUNET_assert (bytes_in_send_queue >= mq->message_buf_size); | 1141 | GNUNET_assert (bytes_in_send_queue >= mq->message_buf_size); |
@@ -1487,7 +1489,8 @@ GST_neighbours_send (const struct GNUNET_PeerIdentity *target, const void *msg, | |||
1487 | if ( (NULL != n->is_active) || | 1489 | if ( (NULL != n->is_active) || |
1488 | ( (NULL == n->primary_address.session) && (NULL == n->primary_address.address)) ) | 1490 | ( (NULL == n->primary_address.session) && (NULL == n->primary_address.address)) ) |
1489 | return; | 1491 | return; |
1490 | GNUNET_SCHEDULER_cancel (n->task); | 1492 | if (GNUNET_SCHEDULER_NO_TASK != n->task) |
1493 | GNUNET_SCHEDULER_cancel (n->task); | ||
1491 | n->task = GNUNET_SCHEDULER_add_now (&master_task, n); | 1494 | n->task = GNUNET_SCHEDULER_add_now (&master_task, n); |
1492 | } | 1495 | } |
1493 | 1496 | ||
@@ -2453,10 +2456,10 @@ master_task (void *cls, | |||
2453 | } | 2456 | } |
2454 | delay = GNUNET_TIME_relative_min (GNUNET_TIME_absolute_get_remaining (n->keep_alive_time), | 2457 | delay = GNUNET_TIME_relative_min (GNUNET_TIME_absolute_get_remaining (n->keep_alive_time), |
2455 | delay); | 2458 | delay); |
2456 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == n->task); | 2459 | if (GNUNET_SCHEDULER_NO_TASK == n->task) |
2457 | n->task = GNUNET_SCHEDULER_add_delayed (delay, | 2460 | n->task = GNUNET_SCHEDULER_add_delayed (delay, |
2458 | &master_task, | 2461 | &master_task, |
2459 | n); | 2462 | n); |
2460 | } | 2463 | } |
2461 | 2464 | ||
2462 | 2465 | ||