[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r23540 - gnunet/src/testbed
From: |
gnunet |
Subject: |
[GNUnet-SVN] r23540 - gnunet/src/testbed |
Date: |
Fri, 31 Aug 2012 14:05:47 +0200 |
Author: harsha
Date: 2012-08-31 14:05:47 +0200 (Fri, 31 Aug 2012)
New Revision: 23540
Modified:
gnunet/src/testbed/test_testbed_api_testbed_run.c
gnunet/src/testbed/testbed_api_testbed.c
Log:
check if peer has already been stopped before attempting to stop it again
Modified: gnunet/src/testbed/test_testbed_api_testbed_run.c
===================================================================
--- gnunet/src/testbed/test_testbed_api_testbed_run.c 2012-08-31 11:57:04 UTC
(rev 23539)
+++ gnunet/src/testbed/test_testbed_api_testbed_run.c 2012-08-31 12:05:47 UTC
(rev 23540)
@@ -39,6 +39,11 @@
static struct GNUNET_TESTBED_Peer *peers[NUM_PEERS];
/**
+ * Operation handle
+ */
+static struct GNUNET_TESTBED_Operation *op;
+
+/**
* Abort task identifier
*/
static GNUNET_SCHEDULER_TaskIdentifier abort_task;
@@ -95,8 +100,9 @@
master_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
result = GNUNET_OK;
- /* Artificial delay */
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &do_shutdown, NULL);
+ GNUNET_assert (NULL != peers[0]);
+ op = GNUNET_TESTBED_peer_stop (peers[0]);
+ GNUNET_assert (NULL != op);
}
@@ -118,6 +124,12 @@
GNUNET_assert (NULL != event->details.peer_start.peer);
peers[peer_id++] = event->details.peer_start.peer;
break;
+ case GNUNET_TESTBED_ET_PEER_STOP:
+ GNUNET_assert (NULL != op);
+ GNUNET_TESTBED_operation_done (op);
+ GNUNET_assert (peers[0] == event->details.peer_stop.peer);
+ GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
+ break;
default:
GNUNET_assert (0);
}
Modified: gnunet/src/testbed/testbed_api_testbed.c
===================================================================
--- gnunet/src/testbed/testbed_api_testbed.c 2012-08-31 11:57:04 UTC (rev
23539)
+++ gnunet/src/testbed/testbed_api_testbed.c 2012-08-31 12:05:47 UTC (rev
23540)
@@ -27,6 +27,7 @@
#include "platform.h"
#include "gnunet_testbed_service.h"
+#include "testbed_api_peers.h"
/**
* Generic loggins shorthand
@@ -500,13 +501,19 @@
rc->peer_count = 0;
for (peer = 0; peer < rc->num_peers; peer++)
{
+ if (PS_STARTED != rc->peers[peer]->state)
+ {
+ rc->peer_count++;
+ continue;
+ }
dll_op = GNUNET_malloc (sizeof (struct DLLOperation));
dll_op->op = GNUNET_TESTBED_peer_stop (rc->peers[peer]);
dll_op->cls = rc->peers[peer];
GNUNET_CONTAINER_DLL_insert_tail (rc->dll_op_head, rc->dll_op_tail,
dll_op);
}
- return;
+ if (rc->peer_count != rc->num_peers)
+ return;
}
}
rc->state = RC_PEERS_DESTROYED; /* No peers are present so we consider
the
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r23540 - gnunet/src/testbed,
gnunet <=