summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2013-03-27 12:11:58 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2013-03-27 12:11:58 +0000
commite45277905e6c82b3f86b6f36e6fa0edeb6cf6ea6 (patch)
tree83821cd7d81918e9e727b7e55d55341db820d27f /src
parentea0cc0ab9f05fd2a7d188e5eaa86cc8a5ae8f599 (diff)
- exit when an operation fails
Diffstat (limited to 'src')
-rw-r--r--src/testbed/testbed_api_testbed.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/testbed/testbed_api_testbed.c b/src/testbed/testbed_api_testbed.c
index 85519c1b9..bceda19a3 100644
--- a/src/testbed/testbed_api_testbed.c
+++ b/src/testbed/testbed_api_testbed.c
@@ -627,6 +627,15 @@ event_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event)
GNUNET_CONTAINER_DLL_remove (rc->dll_op_head, rc->dll_op_tail, dll_op);
GNUNET_TESTBED_operation_done (dll_op->op);
GNUNET_free (dll_op);
+ if ( (GNUNET_NO == rc->shutdown)
+ && (NULL != event->details.operation_finished.emsg) )
+ {
+ LOG (GNUNET_ERROR_TYPE_ERROR, "A operation has failed with error: %s\n",
+ event->details.operation_finished.emsg);
+ shutdown_now (rc);
+ return;
+ }
+ GNUNET_assert (GNUNET_YES == rc->shutdown);
switch (rc->state)
{
case RC_LINKED: