[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r35263 - gnunet/src/rps
From: |
gnunet |
Subject: |
[GNUnet-SVN] r35263 - gnunet/src/rps |
Date: |
Sun, 15 Feb 2015 18:19:51 +0100 |
Author: ch3
Date: 2015-02-15 18:19:51 +0100 (Sun, 15 Feb 2015)
New Revision: 35263
Modified:
gnunet/src/rps/gnunet-service-rps.c
Log:
- changed behaviour on peer disconnect
Modified: gnunet/src/rps/gnunet-service-rps.c
===================================================================
--- gnunet/src/rps/gnunet-service-rps.c 2015-02-15 17:19:48 UTC (rev 35262)
+++ gnunet/src/rps/gnunet-service-rps.c 2015-02-15 17:19:51 UTC (rev 35263)
@@ -1750,9 +1750,17 @@
if (NULL == peer_ctx) /* It could have been removed by shutdown_task */
return;
- /* Somwewhat {ab,re}use the iterator function */
- /* Cast to void is ok, because it's used as void in peer_remove_cb */
- (void) peer_remove_cb ((void *) channel, peer, peer_ctx);
+ if (channel == peer_ctx->send_channel)
+ { /* Peer probably went down */
+ rem_from_list (&gossip_list, &gossip_list_size, peer);
+ rem_from_list (&pending_pull_reply_list, &pending_pull_reply_list_size,
peer);
+
+ /* Somwewhat {ab,re}use the iterator function */
+ /* Cast to void is ok, because it's used as void in peer_remove_cb */
+ (void) peer_remove_cb ((void *) channel, peer, peer_ctx);
+ }
+ else
+ peer_ctx->recv_channel = NULL;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r35263 - gnunet/src/rps,
gnunet <=