summaryrefslogtreecommitdiff
path: root/src/skaembutils/s6-pause.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/skaembutils/s6-pause.c')
-rw-r--r--src/skaembutils/s6-pause.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/src/skaembutils/s6-pause.c b/src/skaembutils/s6-pause.c
deleted file mode 100644
index e0416ba..0000000
--- a/src/skaembutils/s6-pause.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* ISC license. */
-
-#include <unistd.h>
-#include <signal.h>
-#include <skalibs/types.h>
-#include <skalibs/sgetopt.h>
-#include <skalibs/strerr.h>
-#include <skalibs/sig.h>
-
-#define USAGE "s6-pause [ -t ] [ -h ] [ -a ] [ -q ] [ -b ] [ -i ] [ -p signal,signal... ]"
-#define dieusage() strerr_dieusage(100, USAGE)
-
-#define PAUSE_MAX 64
-
-int main (int argc, char const *const *argv)
-{
- PROG = "s6-pause" ;
- unsigned int sigs[PAUSE_MAX] ;
- size_t nsig = 0 ;
- {
- subgetopt l = SUBGETOPT_ZERO ;
- for (;;)
- {
- int opt = subgetopt_r(argc, argv, "thaqbip:", &l) ;
- if (opt == -1) break ;
- switch (opt)
- {
- case 't' : if (nsig >= PAUSE_MAX) dieusage() ; sigs[nsig++] = SIGTERM ; break ;
- case 'h' : if (nsig >= PAUSE_MAX) dieusage() ; sigs[nsig++] = SIGHUP ; break ;
- case 'a' : if (nsig >= PAUSE_MAX) dieusage() ; sigs[nsig++] = SIGALRM ; break ;
- case 'q' : if (nsig >= PAUSE_MAX) dieusage() ; sigs[nsig++] = SIGQUIT ; break ;
- case 'b' : if (nsig >= PAUSE_MAX) dieusage() ; sigs[nsig++] = SIGABRT ; break ;
- case 'i' : if (nsig >= PAUSE_MAX) dieusage() ; sigs[nsig++] = SIGINT ; break ;
- case 'p' :
- {
- size_t n ;
- if (!uint_scanlist(sigs + nsig, PAUSE_MAX - nsig, l.arg, &n)) dieusage() ;
- nsig += n ;
- break ;
- }
- default : dieusage() ;
- }
- }
- argc -= l.ind ; argv += l.ind ;
- }
-
- while (nsig--) sig_ignore(sigs[nsig]) ;
- pause() ;
- return 0 ;
-}