#include #include #include #include #include static void user1(int s) { fprintf(stderr, "%s\n", __func__); kill(0, SIGUSR2); } static void user2(int s) { fprintf(stderr, "%s\n", __func__); kill(0, SIGUSR1); } int main(void) { struct rlimit rl; if (getrlimit(RLIMIT_STACK, &rl) == -1) err(EXIT_FAILURE, "getrlimit"); rl.rlim_cur = 1024 * 1024; if (setrlimit(RLIMIT_STACK, &rl) == -1) err(EXIT_FAILURE, "setrlimit"); fprintf(stderr, "%s,%d\n", __func__, __LINE__); signal(SIGUSR1, user1); signal(SIGUSR2, user2); fprintf(stderr, "%s,%d\n", __func__, __LINE__); kill(0, SIGUSR1); fprintf(stderr, "%s,%d\n", __func__, __LINE__); return EXIT_SUCCESS; }