0.9.6.42:
[sbcl.git] / src / runtime / runtime.c
index 8a44604..fa9e33b 100644 (file)
@@ -191,12 +191,15 @@ main(int argc, char *argv[], char *envp[])
 
     lispobj initial_function;
 
+    interrupt_init();
+    block_blockable_signals();
+
     setlocale(LC_ALL, "");
 
     /* KLUDGE: os_vm_page_size is set by os_init(), and on some
      * systems (e.g. Alpha) arch_init() needs need os_vm_page_size, so
      * it must follow os_init(). -- WHN 2000-01-26 */
-    os_init();
+    os_init(argv, envp);
     arch_init();
     gc_init();
     validate();
@@ -328,7 +331,6 @@ main(int argc, char *argv[], char *envp[])
 
     gc_initialize_pointers();
 
-    interrupt_init();
     arch_install_interrupt_handlers();
     os_install_interrupt_handlers();
 
@@ -337,11 +339,8 @@ main(int argc, char *argv[], char *envp[])
     SetSymbolValue(POSIX_ARGV, alloc_base_string_list(sbcl_argv),0);
     free(sbcl_argv);
 
-    /* Install a handler to pick off SIGINT until the Lisp system gets
-     * far enough along to install its own handler. */
-    sigint_init();
-
-    FSHOW((stderr, "/funcalling initial_function=0x%lx\n", initial_function));
+    FSHOW((stderr, "/funcalling initial_function=0x%lx\n",
+          (unsigned long)initial_function));
     create_initial_thread(initial_function);
     lose("CATS.  CATS ARE NICE.");
     return 0;