diff options
author | psyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet> | 2018-06-23 13:30:01 +0000 |
---|---|---|
committer | psyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet> | 2018-06-23 13:30:01 +0000 |
commit | 92609e8b088bf1dde6b927dc0e3be2e9092f0f87 (patch) | |
tree | dff6aa674d6ca56fa2e2d3435e58fb639387a9a0 /src/arm/gnunet-service-arm.c | |
parent | 00d1e9393a4814d64c6892fdb79a267e9137ee7e (diff) | |
download | gnunet-92609e8b088bf1dde6b927dc0e3be2e9092f0f87.tar.gz gnunet-92609e8b088bf1dde6b927dc0e3be2e9092f0f87.zip |
require gnunet.conf to specify which services to run
Diffstat (limited to 'src/arm/gnunet-service-arm.c')
-rw-r--r-- | src/arm/gnunet-service-arm.c | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/arm/gnunet-service-arm.c b/src/arm/gnunet-service-arm.c index b56c9c0a8..4f443d0a1 100644 --- a/src/arm/gnunet-service-arm.c +++ b/src/arm/gnunet-service-arm.c | |||
@@ -235,6 +235,11 @@ static struct GNUNET_DISK_PipeHandle *sigpipe; | |||
235 | static int in_shutdown; | 235 | static int in_shutdown; |
236 | 236 | ||
237 | /** | 237 | /** |
238 | * Return value from main | ||
239 | */ | ||
240 | static int global_ret; | ||
241 | |||
242 | /** | ||
238 | * Are we starting user services? | 243 | * Are we starting user services? |
239 | */ | 244 | */ |
240 | static int start_user = GNUNET_YES; | 245 | static int start_user = GNUNET_YES; |
@@ -2219,21 +2224,20 @@ run (void *cls, | |||
2219 | else | 2224 | else |
2220 | final_option = GNUNET_CONFIGURATION_expand_dollar (cfg, | 2225 | final_option = GNUNET_CONFIGURATION_expand_dollar (cfg, |
2221 | final_option); | 2226 | final_option); |
2222 | if (GNUNET_YES == | 2227 | start_user = GNUNET_CONFIGURATION_get_value_yesno (cfg, |
2223 | GNUNET_CONFIGURATION_get_value_yesno (cfg, | ||
2224 | "ARM", | 2228 | "ARM", |
2225 | "USER_ONLY")) | 2229 | "USER_ONLY"); |
2226 | { | 2230 | start_system = GNUNET_CONFIGURATION_get_value_yesno (cfg, |
2227 | GNUNET_break (GNUNET_YES == start_user); | ||
2228 | start_system = GNUNET_NO; | ||
2229 | } | ||
2230 | if (GNUNET_YES == | ||
2231 | GNUNET_CONFIGURATION_get_value_yesno (cfg, | ||
2232 | "ARM", | 2231 | "ARM", |
2233 | "SYSTEM_ONLY")) | 2232 | "SYSTEM_ONLY"); |
2233 | if ( (GNUNET_NO == start_user) && | ||
2234 | (GNUNET_NO == start_system) ) | ||
2234 | { | 2235 | { |
2235 | GNUNET_break (GNUNET_YES == start_system); | 2236 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
2236 | start_user = GNUNET_NO; | 2237 | "Please configure either USER_ONLY or SYSTEM_ONLY or both.\n"); |
2238 | GNUNET_SCHEDULER_shutdown (); | ||
2239 | global_ret = 1; | ||
2240 | return; | ||
2237 | } | 2241 | } |
2238 | GNUNET_CONFIGURATION_iterate_sections (cfg, | 2242 | GNUNET_CONFIGURATION_iterate_sections (cfg, |
2239 | &setup_service, | 2243 | &setup_service, |
@@ -2260,7 +2264,6 @@ int | |||
2260 | main (int argc, | 2264 | main (int argc, |
2261 | char *const *argv) | 2265 | char *const *argv) |
2262 | { | 2266 | { |
2263 | int ret; | ||
2264 | struct GNUNET_SIGNAL_Context *shc_chld; | 2267 | struct GNUNET_SIGNAL_Context *shc_chld; |
2265 | struct GNUNET_MQ_MessageHandler handlers[] = { | 2268 | struct GNUNET_MQ_MessageHandler handlers[] = { |
2266 | GNUNET_MQ_hd_var_size (start, | 2269 | GNUNET_MQ_hd_var_size (start, |
@@ -2294,7 +2297,7 @@ main (int argc, | |||
2294 | shc_chld = | 2297 | shc_chld = |
2295 | GNUNET_SIGNAL_handler_install (GNUNET_SIGCHLD, | 2298 | GNUNET_SIGNAL_handler_install (GNUNET_SIGCHLD, |
2296 | &sighandler_child_death); | 2299 | &sighandler_child_death); |
2297 | ret = GNUNET_SERVICE_run_ (argc, | 2300 | if ( GNUNET_OK != GNUNET_SERVICE_run_ (argc, |
2298 | argv, | 2301 | argv, |
2299 | "arm", | 2302 | "arm", |
2300 | GNUNET_SERVICE_OPTION_MANUAL_SHUTDOWN, | 2303 | GNUNET_SERVICE_OPTION_MANUAL_SHUTDOWN, |
@@ -2302,7 +2305,8 @@ main (int argc, | |||
2302 | &client_connect_cb, | 2305 | &client_connect_cb, |
2303 | &client_disconnect_cb, | 2306 | &client_disconnect_cb, |
2304 | NULL, | 2307 | NULL, |
2305 | handlers); | 2308 | handlers)) |
2309 | global_ret = 2; | ||
2306 | #if HAVE_WAIT4 | 2310 | #if HAVE_WAIT4 |
2307 | if (NULL != wait_file) | 2311 | if (NULL != wait_file) |
2308 | { | 2312 | { |
@@ -2319,7 +2323,7 @@ main (int argc, | |||
2319 | shc_chld = NULL; | 2323 | shc_chld = NULL; |
2320 | GNUNET_DISK_pipe_close (sigpipe); | 2324 | GNUNET_DISK_pipe_close (sigpipe); |
2321 | sigpipe = NULL; | 2325 | sigpipe = NULL; |
2322 | return ret; | 2326 | return global_ret; |
2323 | } | 2327 | } |
2324 | 2328 | ||
2325 | 2329 | ||