aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/gnunet-service-testbed_barriers.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2013-09-03 09:12:57 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2013-09-03 09:12:57 +0000
commitd4922969a54f83b3c2d7503a9bda2708700869c8 (patch)
tree6464df644674dec7600a3f82988e4035245e4215 /src/testbed/gnunet-service-testbed_barriers.c
parent9b8e106ae9b8187de0092046d2ceaaf4dcd4852b (diff)
downloadgnunet-d4922969a54f83b3c2d7503a9bda2708700869c8.tar.gz
gnunet-d4922969a54f83b3c2d7503a9bda2708700869c8.zip
- barrier wait API
Diffstat (limited to 'src/testbed/gnunet-service-testbed_barriers.c')
-rw-r--r--src/testbed/gnunet-service-testbed_barriers.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/testbed/gnunet-service-testbed_barriers.c b/src/testbed/gnunet-service-testbed_barriers.c
index c16882032..71fd8ebce 100644
--- a/src/testbed/gnunet-service-testbed_barriers.c
+++ b/src/testbed/gnunet-service-testbed_barriers.c
@@ -224,10 +224,6 @@ struct Barrier
224 */ 224 */
225 uint8_t quorum; 225 uint8_t quorum;
226 226
227 /**
228 * Was there a timeout while propagating initialisation
229 */
230 uint8_t timedout;
231}; 227};
232 228
233 229
@@ -610,8 +606,9 @@ wbarrier_status_cb (void *cls, const char *name,
610 wrapper->hbarrier = NULL; 606 wrapper->hbarrier = NULL;
611 GNUNET_CONTAINER_DLL_remove (barrier->whead, barrier->wtail, wrapper); 607 GNUNET_CONTAINER_DLL_remove (barrier->whead, barrier->wtail, wrapper);
612 GNUNET_free (wrapper); 608 GNUNET_free (wrapper);
613 if (BARRIER_STATUS_ERROR == status) 609 switch (status)
614 { 610 {
611 case BARRIER_STATUS_ERROR:
615 LOG (GNUNET_ERROR_TYPE_ERROR, 612 LOG (GNUNET_ERROR_TYPE_ERROR,
616 "Initialising barrier `%s' failed at a sub-controller: %s\n", 613 "Initialising barrier `%s' failed at a sub-controller: %s\n",
617 barrier->name, (NULL != emsg) ? emsg : "NULL"); 614 barrier->name, (NULL != emsg) ? emsg : "NULL");
@@ -621,9 +618,6 @@ wbarrier_status_cb (void *cls, const char *name,
621 barrier->status = BARRIER_STATUS_ERROR; 618 barrier->status = BARRIER_STATUS_ERROR;
622 send_barrier_status_msg (barrier, emsg); 619 send_barrier_status_msg (barrier, emsg);
623 return; 620 return;
624 }
625 switch (status)
626 {
627 case BARRIER_STATUS_CROSSED: 621 case BARRIER_STATUS_CROSSED:
628 if (BARRIER_STATUS_INITIALISED != barrier->status) 622 if (BARRIER_STATUS_INITIALISED != barrier->status)
629 { 623 {
@@ -637,7 +631,7 @@ wbarrier_status_cb (void *cls, const char *name,
637 barrier->status = BARRIER_STATUS_CROSSED; 631 barrier->status = BARRIER_STATUS_CROSSED;
638 send_barrier_status_msg (barrier, NULL); 632 send_barrier_status_msg (barrier, NULL);
639 } 633 }
640 break; 634 return;
641 case BARRIER_STATUS_INITIALISED: 635 case BARRIER_STATUS_INITIALISED:
642 if (0 != barrier->status) 636 if (0 != barrier->status)
643 { 637 {
@@ -650,11 +644,8 @@ wbarrier_status_cb (void *cls, const char *name,
650 barrier->status = BARRIER_STATUS_INITIALISED; 644 barrier->status = BARRIER_STATUS_INITIALISED;
651 send_barrier_status_msg (barrier, NULL); 645 send_barrier_status_msg (barrier, NULL);
652 } 646 }
653 break; 647 return;
654 case BARRIER_STATUS_ERROR:
655 GNUNET_assert (0);
656 } 648 }
657 return;
658} 649}
659 650
660 651
@@ -670,8 +661,6 @@ fwd_tout_barrier_init (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
670{ 661{
671 struct Barrier *barrier = cls; 662 struct Barrier *barrier = cls;
672 663
673 barrier->nslaves--;
674 barrier->timedout = GNUNET_YES;
675 cancel_wrappers (barrier); 664 cancel_wrappers (barrier);
676 barrier->status = BARRIER_STATUS_ERROR; 665 barrier->status = BARRIER_STATUS_ERROR;
677 send_barrier_status_msg (barrier, 666 send_barrier_status_msg (barrier,