aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/gnunet-testbed-profiler.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-04-30 08:17:37 +0000
committerChristian Grothoff <christian@grothoff.org>2016-04-30 08:17:37 +0000
commit95f9076a2139f5fb042b944a0658b6cda2fa35db (patch)
treeb0826a2a1dcf812e6b4450fe6b05d47cd53ae49d /src/testbed/gnunet-testbed-profiler.c
parent7746f68db77b9ca3c4aaca24ab2ce5253461240b (diff)
downloadgnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.tar.gz
gnunet-95f9076a2139f5fb042b944a0658b6cda2fa35db.zip
implementing new scheduler shutdown semantics
Diffstat (limited to 'src/testbed/gnunet-testbed-profiler.c')
-rw-r--r--src/testbed/gnunet-testbed-profiler.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/testbed/gnunet-testbed-profiler.c b/src/testbed/gnunet-testbed-profiler.c
index 308ec0386..9468b3c91 100644
--- a/src/testbed/gnunet-testbed-profiler.c
+++ b/src/testbed/gnunet-testbed-profiler.c
@@ -55,12 +55,7 @@ static char *hosts_file;
55/** 55/**
56 * Abort task identifier 56 * Abort task identifier
57 */ 57 */
58static struct GNUNET_SCHEDULER_Task * abort_task; 58static struct GNUNET_SCHEDULER_Task *abort_task;
59
60/**
61 * Shutdown task identifier
62 */
63static struct GNUNET_SCHEDULER_Task * shutdown_task;
64 59
65/** 60/**
66 * Global event mask for all testbed events 61 * Global event mask for all testbed events
@@ -111,7 +106,6 @@ static int noninteractive;
111static void 106static void
112do_shutdown (void *cls) 107do_shutdown (void *cls)
113{ 108{
114 shutdown_task = NULL;
115 if (NULL != abort_task) 109 if (NULL != abort_task)
116 { 110 {
117 GNUNET_SCHEDULER_cancel (abort_task); 111 GNUNET_SCHEDULER_cancel (abort_task);
@@ -122,7 +116,6 @@ do_shutdown (void *cls)
122 GNUNET_CONFIGURATION_destroy (cfg); 116 GNUNET_CONFIGURATION_destroy (cfg);
123 cfg = NULL; 117 cfg = NULL;
124 } 118 }
125 GNUNET_SCHEDULER_shutdown (); /* Stop scheduler to shutdown testbed run */
126} 119}
127 120
128 121
@@ -134,12 +127,11 @@ do_shutdown (void *cls)
134static void 127static void
135do_abort (void *cls) 128do_abort (void *cls)
136{ 129{
137 LOG (GNUNET_ERROR_TYPE_WARNING, "Aborting\n");
138 abort_task = NULL; 130 abort_task = NULL;
131 LOG (GNUNET_ERROR_TYPE_WARNING,
132 "Aborting\n");
139 result = GNUNET_SYSERR; 133 result = GNUNET_SYSERR;
140 if (NULL != shutdown_task) 134 GNUNET_SCHEDULER_shutdown ();
141 GNUNET_SCHEDULER_cancel (shutdown_task);
142 shutdown_task = GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
143} 135}
144 136
145 137
@@ -228,12 +220,11 @@ test_run (void *cls,
228 result = GNUNET_OK; 220 result = GNUNET_OK;
229 fprintf (stdout, "\n"); 221 fprintf (stdout, "\n");
230 print_overlay_links_summary (); 222 print_overlay_links_summary ();
223 GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL);
231 if (noninteractive) 224 if (noninteractive)
232 { 225 {
233 GNUNET_SCHEDULER_cancel (abort_task); 226 GNUNET_SCHEDULER_cancel (abort_task);
234 abort_task = NULL; 227 abort_task = NULL;
235 shutdown_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
236 &do_shutdown, NULL);
237 return; 228 return;
238 } 229 }
239#if (!ENABLE_SUPERMUC) 230#if (!ENABLE_SUPERMUC)
@@ -243,8 +234,7 @@ test_run (void *cls,
243#endif 234#endif
244 fprintf (stdout, "Shutting down. Please wait\n"); 235 fprintf (stdout, "Shutting down. Please wait\n");
245 fflush (stdout); 236 fflush (stdout);
246 shutdown_task = GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); 237 GNUNET_SCHEDULER_shutdown ();
247 return;
248} 238}
249 239
250 240