]> Zhao Yanbai Git Server - minix.git/commitdiff
Don't exit when rebooting.
authorBen Gras <ben@minix3.org>
Wed, 11 Jul 2007 13:44:45 +0000 (13:44 +0000)
committerBen Gras <ben@minix3.org>
Wed, 11 Jul 2007 13:44:45 +0000 (13:44 +0000)
servers/is/main.c

index 37c08a64c1a5ae2ee62fcdce1367fd991ce14752..da01de2704f41cc32f16e8eb0c78b042717d7802 100644 (file)
@@ -23,8 +23,6 @@ extern int errno;     /* error number set by system library */
 
 /* Declare some local functions. */
 FORWARD _PROTOTYPE(void init_server, (int argc, char **argv)           );
-FORWARD _PROTOTYPE(void sig_handler, (void)                            );
-FORWARD _PROTOTYPE(void exit_server, (void)                            );
 FORWARD _PROTOTYPE(void get_work, (void)                               );
 FORWARD _PROTOTYPE(void reply, (int whom, int result)                  );
 
@@ -59,8 +57,8 @@ PUBLIC int main(int argc, char **argv)
          }
          continue;
       case PROC_EVENT:
-          sig_handler();
-          continue;
+          result = EDONTREPLY;
+         break;
       case FKEY_PRESSED:
           result = do_fkey_pressed(&m_in);
           break;
@@ -68,8 +66,9 @@ PUBLIC int main(int argc, char **argv)
          notify(m_in.m_source);
          continue;
       default: 
-          report("IS","warning, got illegal request from:", m_in.m_source);
-          result = EINVAL;
+          printf("IS: warning, got illegal request %d from %d\n",
+               callnr, m_in.m_source);
+          result = EDONTREPLY;
       }
 
       /* Finally send reply message, unless disabled. */
@@ -105,45 +104,6 @@ PRIVATE void init_server(int argc, char **argv)
       report("IS", "warning, fkey_map failed:", s);
 }
 
-/*===========================================================================*
- *                             sig_handler                                  *
- *===========================================================================*/
-PRIVATE void sig_handler()
-{
-  sigset_t sigset;
-  int sig;
-
-  /* Try to obtain signal set from PM. */
-  if (getsigset(&sigset) != 0) return;
-
-  /* Check for known signals. */
-  if (sigismember(&sigset, SIGTERM)) {
-      exit_server();
-  }
-}
-
-/*===========================================================================*
- *                             exit_server                                  *
- *===========================================================================*/
-PRIVATE void exit_server()
-{
-/* Shut down the information service. */
-  int fkeys, sfkeys;
-  int i,s;
-
-  /* Release the function key mappings requested in init_server(). 
-   * IS took all of F1-F12 and Shift+F1-F6. 
-   */
-  fkeys = sfkeys = 0;
-  for (i=1; i<=12; i++) bit_set(fkeys, i);
-  for (i=1; i<= 7; i++) bit_set(sfkeys, i);
-  if ((s=fkey_unmap(&fkeys, &sfkeys)) != OK)
-      report("IS", "warning, unfkey_map failed:", s);
-
-  /* Done. Now exit. */
-  exit(0);
-}
-
 /*===========================================================================*
  *                             get_work                                     *
  *===========================================================================*/