proctitle_init(argc, argv);
set_program_name(argv[0]);
+ service_start(&argc, &argv);
signal(SIGPIPE, SIG_IGN);
process_init();
}
poll_timer_wait_until(status_timer);
poll_block();
+ if (should_service_stop()) {
+ exiting = true;
+ }
}
ovsdb_jsonrpc_server_destroy(jsonrpc);
SHASH_FOR_EACH(node, &all_dbs) {
}
}
+ service_stop();
return 0;
}
static const struct option long_options[] = {
{"remote", required_argument, NULL, OPT_REMOTE},
{"unixctl", required_argument, NULL, OPT_UNIXCTL},
+#ifndef _WIN32
{"run", required_argument, NULL, OPT_RUN},
+#endif
{"help", no_argument, NULL, 'h'},
{"version", no_argument, NULL, 'V'},
DAEMON_LONG_OPTIONS,