refactor: Optimize the signal context overhead
[lunaix-os.git] / lunaix-os / usr / signal_demo / signal_demo.c
index 612e132a6d4aaf2b226b97f6c864f09dc1f6c56a..352d0de463db81619589c771408f86042586bac3 100644 (file)
@@ -24,18 +24,18 @@ sigalrm_handler(int signum)
     printf("I, pid %d, have received an alarm!\n", pid);
 }
 
     printf("I, pid %d, have received an alarm!\n", pid);
 }
 
-void
+int
 main()
 {
     signal(SIGCHLD, sigchild_handler);
     signal(SIGSEGV, sigsegv_handler);
     signal(SIGALRM, sigalrm_handler);
 
 main()
 {
     signal(SIGCHLD, sigchild_handler);
     signal(SIGSEGV, sigsegv_handler);
     signal(SIGALRM, sigalrm_handler);
 
-    alarm(5);
-
     int status;
     pid_t p = 0;
 
     int status;
     pid_t p = 0;
 
+    alarm(5);
+
     printf("Child sleep 3s, parent pause.\n");
     if (!fork()) {
         sleep(3);
     printf("Child sleep 3s, parent pause.\n");
     if (!fork()) {
         sleep(3);
@@ -72,4 +72,6 @@ main()
     }
 
     printf("done\n");
     }
 
     printf("done\n");
+
+    return 0;
 }
\ No newline at end of file
 }
\ No newline at end of file