[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r35767 - gnunet/src/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r35767 - gnunet/src/fs |
Date: |
Thu, 21 May 2015 12:07:58 +0200 |
Author: grothoff
Date: 2015-05-21 12:07:58 +0200 (Thu, 21 May 2015)
New Revision: 35767
Modified:
gnunet/src/fs/gnunet-service-fs_cp.c
gnunet/src/fs/gnunet-service-fs_push.c
Log:
with respect to #3615: we might (theoretically) get a migration stop before we
finished the peerstore lookup; in that case, we would do a GSF_push_start()
twice (once via revive migration, and once from peerstore lookup succeeding),
and then on disconnect only stop once, keeping the migration going for a
disconnected peer. That still does not explain the bug report, as the '*cp' in
the report doesn't show BADFOOD, and we'd expect a free'd cp in this case to be
used for the transmission. Still, this is a possible issue which can be fixed
by ignoring migration stop messages until after peerstore lookup succeeded
Modified: gnunet/src/fs/gnunet-service-fs_cp.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs_cp.c 2015-05-21 09:54:13 UTC (rev
35766)
+++ gnunet/src/fs/gnunet-service-fs_cp.c 2015-05-21 10:07:58 UTC (rev
35767)
@@ -741,7 +741,8 @@
GNUNET_i2s (other),
GNUNET_STRINGS_relative_time_to_string (bt, GNUNET_YES));
cp->ppd.migration_blocked_until = GNUNET_TIME_relative_to_absolute (bt);
- if (NULL == cp->mig_revive_task)
+ if ( (NULL == cp->mig_revive_task) &&
+ (NULL == cp->respect_iterate_req) )
{
GSF_push_stop_ (cp);
cp->mig_revive_task =
Modified: gnunet/src/fs/gnunet-service-fs_push.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs_push.c 2015-05-21 09:54:13 UTC (rev
35766)
+++ gnunet/src/fs/gnunet-service-fs_push.c 2015-05-21 10:07:58 UTC (rev
35767)
@@ -611,6 +611,7 @@
break;
if (NULL != mrp)
{
+ /* same peer added twice, must not happen */
GNUNET_break (0);
return;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r35767 - gnunet/src/fs,
gnunet <=