| #include "sigchain.h" | |
| #include "cache.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 main(int argc, char **argv) { | |
| sigchain_push(SIGTERM, one); | |
| sigchain_push(SIGTERM, two); | |
| sigchain_push(SIGTERM, three); | |
| raise(SIGTERM); | |
| return 0; | |
| } |