2015-04-16 22:25:57 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
Don't uninstall signal handlers if fork() fails.
diff --git a/rover.c b/rover.c index fc73e34..f0c8d42 100644 --- a/rover.c +++ b/rover.c @@ -597,13 +597,13 @@ spawn() int status; struct sigaction sa; - memset(&sa, 0, sizeof (struct sigaction)); - sa.sa_handler = SIG_DFL; - sigaction(SIGSEGV, &sa, NULL); - sigaction(SIGWINCH, &sa, NULL); pid = fork(); if (pid > 0) { /* fork() succeeded. */ + memset(&sa, 0, sizeof (struct sigaction)); + sa.sa_handler = SIG_DFL; + sigaction(SIGSEGV, &sa, NULL); + sigaction(SIGWINCH, &sa, NULL); endwin(); waitpid(pid, &status, 0); init_term();