X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fdaemon.h;h=959341d813a6f24adbb731f695f955cebe3535e8;hb=cfc50ae514f805dcd9c14589f21158185424daf6;hp=f4dced3c3c97ff08dcb03082abac4537e69f17ad;hpb=4ec4776c69d44acb3379e663ca700fd7ab3aecb2;p=sliver-openvswitch.git diff --git a/lib/daemon.h b/lib/daemon.h index f4dced3c3..959341d81 100644 --- a/lib/daemon.h +++ b/lib/daemon.h @@ -27,7 +27,7 @@ * POSIX platforms and some are applicable only on Windows. As such, the * function definitions unique to each platform are separated out with * ifdef macros. More descriptive comments on individual functions are provided - * in daemon.c (for Linux) and daemon-windows.c (for Windows). + * in daemon-unix.c (for POSIX platforms) and daemon-windows.c (for Windows). * The DAEMON_OPTION_ENUMS, DAEMON_LONG_OPTIONS and DAEMON_OPTION_HANDLERS * macros are useful for parsing command-line options in individual utilities. @@ -74,19 +74,22 @@ void set_detach(void); void daemon_set_monitor(void); -void set_pidfile(const char *name); void set_no_chdir(void); void ignore_existing_pidfile(void); pid_t read_pidfile(const char *name); #else #define DAEMON_OPTION_ENUMS \ OPT_DETACH, \ + OPT_NO_CHDIR, \ + OPT_PIDFILE, \ OPT_PIPE_HANDLE, \ OPT_SERVICE, \ OPT_SERVICE_MONITOR #define DAEMON_LONG_OPTIONS \ {"detach", no_argument, NULL, OPT_DETACH}, \ + {"no-chdir", no_argument, NULL, OPT_NO_CHDIR}, \ + {"pidfile", optional_argument, NULL, OPT_PIDFILE}, \ {"pipe-handle", required_argument, NULL, OPT_PIPE_HANDLE}, \ {"service", no_argument, NULL, OPT_SERVICE}, \ {"service-monitor", no_argument, NULL, OPT_SERVICE_MONITOR} @@ -95,6 +98,13 @@ pid_t read_pidfile(const char *name); case OPT_DETACH: \ break; \ \ + case OPT_NO_CHDIR: \ + break; \ + \ + case OPT_PIDFILE: \ + set_pidfile(optarg); \ + break; \ + \ case OPT_PIPE_HANDLE: \ set_pipe_handle(optarg); \ break; \ @@ -118,5 +128,7 @@ void daemon_usage(void); void service_start(int *argcp, char **argvp[]); void service_stop(void); bool should_service_stop(void); +void set_pidfile(const char *name); +void close_standard_fds(void); #endif /* daemon.h */