diff options
| author | Christian Ruppert <idl0r@gentoo.org> | 2012-01-15 02:10:35 +0100 | 
|---|---|---|
| committer | Christian Ruppert <idl0r@gentoo.org> | 2012-01-15 02:10:35 +0100 | 
| commit | 30a56cdb4680f90e6c371c75c27c6ecec2d7aeec (patch) | |
| tree | ff9d19dcc2503bcf3ca7600d7cbad00725b69cdf | |
| parent | 14625346c07a2a66fe77ce578c9423918bec1d97 (diff) | |
| download | openrc-30a56cdb4680f90e6c371c75c27c6ecec2d7aeec.tar.xz | |
Add "ifstopped" command to runscript
Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
| -rw-r--r-- | man/runscript.8 | 3 | ||||
| -rw-r--r-- | src/rc/runscript.c | 8 | 
2 files changed, 10 insertions, 1 deletions
| diff --git a/man/runscript.8 b/man/runscript.8 index 6ad6031b..dbc0b7dc 100644 --- a/man/runscript.8 +++ b/man/runscript.8 @@ -32,6 +32,7 @@  .Op Fl D , -nodeps  .Op Fl d , -debug  .Op Fl s , -ifstarted +.Op Fl S , -ifstopped  .Op Fl Z , -dry-run  .Op Ar command ...  .Sh DESCRIPTION @@ -76,6 +77,8 @@ Set xtrace on in the shell to assist in debugging.  Ignore all dependency information the service supplies.  .It Fl s , -ifstarted  Only run the command if the service has been started. +.It Fl S , -ifstopped +Only run the command if the service has been stopped.  .It Fl q , -quiet  Turns off all informational output the service generates.  Output from any non OpenRC commands is not affected. diff --git a/src/rc/runscript.c b/src/rc/runscript.c index 2f66971c..8e0ced98 100644 --- a/src/rc/runscript.c +++ b/src/rc/runscript.c @@ -1079,12 +1079,13 @@ service_plugable(void)  }  #include "_usage.h" -#define getoptstring "dDsvl:Z" getoptstring_COMMON +#define getoptstring "dDsSvl:Z" getoptstring_COMMON  #define extraopts "stop | start | restart | describe | zap"  static const struct option longopts[] = {  	{ "debug",      0, NULL, 'd'},  	{ "dry-run",    0, NULL, 'Z'},  	{ "ifstarted",  0, NULL, 's'}, +	{ "ifstopped",  0, NULL, 'S'},  	{ "nodeps",     0, NULL, 'D'},  	{ "lockfd",     1, NULL, 'l'},  	longopts_COMMON @@ -1093,6 +1094,7 @@ static const char *const longopts_help[] = {  	"set xtrace when running the script",  	"show what would be done",  	"only run commands when started", +	"only run commands when stopped",  	"ignore dependencies",  	"fd of the exclusive lock from rc",  	longopts_help_COMMON @@ -1235,6 +1237,10 @@ runscript(int argc, char **argv)  			if (!(rc_service_state(service) & RC_SERVICE_STARTED))  				exit(EXIT_FAILURE);  			break; +		case 'S': +			if (!(rc_service_state(service) & RC_SERVICE_STOPPED)) +				exit(EXIT_FAILURE); +			break;  		case 'D':  			deps = false;  			break; | 
