diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-07-19 12:49:02 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-07-19 12:49:02 +0000 |
commit | 13121a349efdc9529d4c6c8590a8fbed0f34ce54 (patch) | |
tree | b7d4235ef6b8ce9b7604f581c857d87e9985e9a5 /src/core | |
parent | dfc745e0e977a20de99a88958f9baae6c850cd53 (diff) | |
download | gnunet-13121a349efdc9529d4c6c8590a8fbed0f34ce54.tar.gz gnunet-13121a349efdc9529d4c6c8590a8fbed0f34ce54.zip |
fast timeout on disconnect
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/gnunet-service-core.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c index 8cd598e83..52724e578 100644 --- a/src/core/gnunet-service-core.c +++ b/src/core/gnunet-service-core.c | |||
@@ -3717,6 +3717,7 @@ handle_transport_notify_disconnect (void *cls, | |||
3717 | { | 3717 | { |
3718 | struct DisconnectNotifyMessage cnm; | 3718 | struct DisconnectNotifyMessage cnm; |
3719 | struct Neighbour *n; | 3719 | struct Neighbour *n; |
3720 | struct GNUNET_TIME_Relative left; | ||
3720 | 3721 | ||
3721 | #if DEBUG_CORE | 3722 | #if DEBUG_CORE |
3722 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 3723 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
@@ -3741,6 +3742,15 @@ handle_transport_notify_disconnect (void *cls, | |||
3741 | gettext_noop ("# peers connected (transport)"), | 3742 | gettext_noop ("# peers connected (transport)"), |
3742 | -1, | 3743 | -1, |
3743 | GNUNET_NO); | 3744 | GNUNET_NO); |
3745 | if (n->dead_clean_task != GNUNET_SCHEDULER_NO_TASK) | ||
3746 | GNUNET_SCHEDULER_cancel (sched, | ||
3747 | n->dead_clean_task); | ||
3748 | left = GNUNET_CONSTANTS_DISCONNECT_SESSION_TIMEOUT; | ||
3749 | n->last_activity = GNUNET_TIME_absolute_subtract (GNUNET_TIME_absolute_get (), left); | ||
3750 | n->dead_clean_task = GNUNET_SCHEDULER_add_delayed (sched, | ||
3751 | left, | ||
3752 | &consider_free_task, | ||
3753 | n); | ||
3744 | } | 3754 | } |
3745 | 3755 | ||
3746 | 3756 | ||