diff options
Diffstat (limited to '')
-rw-r--r-- | t/helper/test-sigchain.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/t/helper/test-sigchain.c b/t/helper/test-sigchain.c new file mode 100644 index 0000000..d013bcc --- /dev/null +++ b/t/helper/test-sigchain.c @@ -0,0 +1,24 @@ +#include "test-tool.h" +#include "cache.h" +#include "sigchain.h" + +#define X(f) \ +static void f(int sig) { \ + puts(#f); \ + fflush(stdout); \ + sigchain_pop(sig); \ + raise(sig); \ +} +X(one) +X(two) +X(three) +#undef X + +int cmd__sigchain(int argc, const char **argv) +{ + sigchain_push(SIGTERM, one); + sigchain_push(SIGTERM, two); + sigchain_push(SIGTERM, three); + raise(SIGTERM); + return 0; +} |