Add more signal handlers
This commit is contained in:
parent
7d2966b3f7
commit
af258658c1
28
sus.c
28
sus.c
@ -56,7 +56,23 @@ int main(int argc, char** argv)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
signal(SIGINT, intHandler);
|
struct sigaction savealrm, saveint, savehup, savequit, saveterm;
|
||||||
|
struct sigaction savetstp, savettin, savettou, savepipe;
|
||||||
|
|
||||||
|
struct sigaction sa;
|
||||||
|
sigemptyset(&sa.sa_mask);
|
||||||
|
sa.sa_flags = 0;
|
||||||
|
sa.sa_handler = intHandler;
|
||||||
|
|
||||||
|
sigaction(SIGALRM, &sa, &savealrm);
|
||||||
|
sigaction(SIGHUP, &sa, &savehup);
|
||||||
|
sigaction(SIGINT, &sa, &saveint);
|
||||||
|
sigaction(SIGPIPE, &sa, &savepipe);
|
||||||
|
sigaction(SIGQUIT, &sa, &savequit);
|
||||||
|
sigaction(SIGTERM, &sa, &saveterm);
|
||||||
|
sigaction(SIGTSTP, &sa, &savetstp);
|
||||||
|
sigaction(SIGTTIN, &sa, &savettin);
|
||||||
|
sigaction(SIGTTOU, &sa, &savettou);
|
||||||
|
|
||||||
command_name = malloc((1 + strlen(argv[0])) * sizeof(char));
|
command_name = malloc((1 + strlen(argv[0])) * sizeof(char));
|
||||||
strcpy(command_name, argv[0]);
|
strcpy(command_name, argv[0]);
|
||||||
@ -112,6 +128,16 @@ int main(int argc, char** argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sigaction(SIGALRM, &sa, NULL);
|
||||||
|
sigaction(SIGHUP, &sa, NULL);
|
||||||
|
sigaction(SIGINT, &sa, NULL);
|
||||||
|
sigaction(SIGPIPE, &sa, NULL);
|
||||||
|
sigaction(SIGQUIT, &sa, NULL);
|
||||||
|
sigaction(SIGTERM, &sa, NULL);
|
||||||
|
sigaction(SIGTSTP, &sa, NULL);
|
||||||
|
sigaction(SIGTTIN, &sa, NULL);
|
||||||
|
sigaction(SIGTTOU, &sa, NULL);
|
||||||
|
|
||||||
argv += command_start;
|
argv += command_start;
|
||||||
setuid(uid);
|
setuid(uid);
|
||||||
char* path = getenv("PATH");
|
char* path = getenv("PATH");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user