[cgmanager-devel] [PATCH 3/3] Add --sigstop support

Serge Hallyn serge.hallyn at ubuntu.com
Fri Apr 4 17:28:18 UTC 2014


Quoting Stéphane Graber (stgraber at ubuntu.com):
> This is used to indicate that the service is ready so that upstart and
> possibly some other systems can then have depending services start.
> 
> --daemon does something similar, however calling it prevents log message
> from being logged.
> 
> Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>

Looks good, thanks.

Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>

> ---
>  cgmanager-proxy.c | 5 +++++
>  cgmanager.c       | 5 +++++
>  frontend.c        | 1 +
>  frontend.h        | 1 +
>  4 files changed, 12 insertions(+)
> 
> diff --git a/cgmanager-proxy.c b/cgmanager-proxy.c
> index 075c13f..35d797d 100644
> --- a/cgmanager-proxy.c
> +++ b/cgmanager-proxy.c
> @@ -948,6 +948,8 @@ out:
>  static NihOption options[] = {
>  	{ 0, "daemon", N_("Detach and run in the background"),
>  	  NULL, NULL, &daemonise, NULL },
> +	{ 0, "sigstop", N_("Raise SIGSTOP when ready"),
> +		NULL, NULL, &sigstop, NULL },
>  	{ 0, "check-master", N_("Check whether cgmanager is running"),
>  	  NULL, NULL, &checkmaster, NULL },
>  
> @@ -1030,6 +1032,9 @@ main (int argc, char *argv[])
>  		exit(1);
>  	}
>  
> +	if (sigstop)
> +		raise(SIGSTOP);
> +
>  	ret = nih_main_loop ();
>  
>  	/* Destroy any PID file we may have created */
> diff --git a/cgmanager.c b/cgmanager.c
> index b3567ff..bb1ba5c 100644
> --- a/cgmanager.c
> +++ b/cgmanager.c
> @@ -739,6 +739,8 @@ static NihOption options[] = {
>  		NULL, "subsystems to mount", NULL, my_setter },
>  	{ 0, "daemon", N_("Detach and run in the background"),
>  		NULL, NULL, &daemonise, NULL },
> +	{ 0, "sigstop", N_("Raise SIGSTOP when ready"),
> +		NULL, NULL, &sigstop, NULL },
>  
>  	NIH_OPTION_LAST
>  };
> @@ -884,6 +886,9 @@ main (int argc, char *argv[])
>  		}
>  	}
>  
> +	if (sigstop)
> +		raise(SIGSTOP);
> +
>  	ret = nih_main_loop ();
>  
>  	/* Destroy any PID file we may have created */
> diff --git a/frontend.c b/frontend.c
> index c575d5f..036594c 100644
> --- a/frontend.c
> +++ b/frontend.c
> @@ -24,6 +24,7 @@
>  #include <frontend.h>
>  
>  int daemonise = FALSE;
> +int sigstop = FALSE;
>  bool setns_pid_supported = false;
>  unsigned long mypidns;
>  bool setns_user_supported = false;
> diff --git a/frontend.h b/frontend.h
> index c8ce4ae..144fd07 100644
> --- a/frontend.h
> +++ b/frontend.h
> @@ -69,6 +69,7 @@
>   **/
>  #ifndef __frontend_c
>  extern int daemonise;
> +extern int sigstop;
>  extern bool setns_pid_supported;
>  extern unsigned long mypidns;
>  extern bool setns_user_supported;
> -- 
> 1.9.1
> 
> _______________________________________________
> cgmanager-devel mailing list
> cgmanager-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/cgmanager-devel


More information about the cgmanager-devel mailing list