diff options
Diffstat (limited to 'third_party/git/t/helper/test-sigchain.c')
-rw-r--r-- | third_party/git/t/helper/test-sigchain.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/git/t/helper/test-sigchain.c b/third_party/git/t/helper/test-sigchain.c new file mode 100644 index 000000000000..d013bccddaeb --- /dev/null +++ b/third_party/git/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; +} |