chain kill signals for cleanup functions
[git/spearce.git] / test-sigchain.c
blob8747deac627d5e3d57cd1f072f34802d29efa25e
1 #include "sigchain.h"
2 #include "cache.h"
4 #define X(f) \
5 static void f(int sig) { \
6 puts(#f); \
7 fflush(stdout); \
8 sigchain_pop(sig); \
9 raise(sig); \
11 X(one)
12 X(two)
13 X(three)
14 #undef X
16 int main(int argc, char **argv) {
17 sigchain_push(SIGINT, one);
18 sigchain_push(SIGINT, two);
19 sigchain_push(SIGINT, three);
20 raise(SIGINT);
21 return 0;