Commit Diff


commit - 3e2a6afd6afc02ecb81f3247c78c64639498cfc2
commit + e1a8adcd0c41c50a442c257fea4e98d5b239f12a
blob - fc73e34752bbbb74d0e32901744727aa2e8b4dd0
blob + f0c8d42ec4120bcb6d46544e53ed7da355e9ed18
--- rover.c
+++ 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();