Linux-sysvinit-flow

来源:互联网 发布:安卓视频直播app源码 编辑:程序博客网 时间:2024/06/05 08:00
diff --git a/init.c b/init.c
index 27532ad..e206d97 100644
--- a/init.c
+++ b/init.c
@@ -1634,6 +1634,17 @@ void start_if_needed(void)
 
         /* See if we have to start it up */
         delete = 1;
+        // oem-start
+        // SIGCHLD -> ch->flags &= ~(RUNNING|ZOMBIE|WAITING);
+        // 1) ch->rlevel = "#", runlevel = '#'
+        //    exec si::sysinit:/etc/init.d/rcS -> /etc/rcS.d/Sxx
+        // 2) ch->rlevel = "*5*", runlevel = '5'
+        //    exec l5:5:wait:/etc/init.d/rc 5 -> /etc/rc5.d/Sxx
+        //    exec rmts:2345:respawn:/sbin/rmt_storage
+        //    exec tftp:2345:respawn:/sbin/tftp_server
+        //    exec m1:5:wait:rm -f /var/run/qbi_session_active
+        //    exec m2:5:respawn:/usr/bin/mbimd
+        // oem-end
         if (strchr(ch->rlevel, runlevel) ||
             ((ch->flags & DEMAND) && !strchr("#*Ss", runlevel))) {
             startup(ch);
@@ -2334,6 +2345,9 @@ void boot_transitions()
             write_utmp_wtmp("reboot", "~~", 0, BOOT_TIME, "~");
 
               /* Get our run level */
+            // oem-start
+            // newlevel = '5' by default
+            // oem-end
               newlevel = dfl_level ? dfl_level : get_init_default();
             if (newlevel == 'S') {
                 runlevel = newlevel;
@@ -2346,6 +2360,9 @@ void boot_transitions()
             INITDBG(L_VB, "BOOT -> NORMAL");
             if (runlevel != newlevel)
                 loglevel = newlevel;
+            // oem-start
+            // runlevel = '5'
+            // oem-end
             runlevel = newlevel;
             did_boot = 1;
             warn = 1;
@@ -2633,6 +2650,11 @@ void init_main(void)
      */
       setenv("PATH", PATH_DEFAULT, 0 /* Don't overwrite */);
   }
+    // oem-start
+    // SIGCHLD -> ch->flags &= ~(RUNNING|ZOMBIE|WAITING);
+    // 1) ch->rlevel = "#", runlevel = '#'
+    //    exec si::sysinit:/etc/init.d/rcS -> /etc/rcS.d/Sxx
+    // oem-end
   start_if_needed();
 
   while(1) {
@@ -2666,6 +2688,15 @@ void init_main(void)
      process_signals();
 
      /* See what we need to start up (again) */
+    // oem-start
+    // SIGCHLD -> ch->flags &= ~(RUNNING|ZOMBIE|WAITING);
+    // 2) ch->rlevel = "*5*", runlevel = '5'
+    //    exec l5:5:wait:/etc/init.d/rc 5 -> /etc/rc5.d/Sxx
+    //    exec rmts:2345:respawn:/sbin/rmt_storage
+    //    exec tftp:2345:respawn:/sbin/tftp_server
+    //    exec m1:5:wait:rm -f /var/run/qbi_session_active
+    //    exec m2:5:respawn:/usr/bin/mbimd
+    // oem-end
      start_if_needed();
   }
   /*NOTREACHED*/
原创粉丝点击