Python API: Add enum and union support.
[vpp.git] / src / vlib / unix / main.c
index ed0631e..f812b08 100644 (file)
@@ -61,6 +61,7 @@ char *vlib_default_runtime_dir = "vlib";
 
 unix_main_t unix_main;
 clib_file_main_t file_main;
+vlib_physmem_main_t physmem_main;
 
 static clib_error_t *
 unix_main_init (vlib_main_t * vm)
@@ -75,7 +76,7 @@ VLIB_INIT_FUNCTION (unix_main_init);
 static void
 unix_signal_handler (int signum, siginfo_t * si, ucontext_t * uc)
 {
-  uword fatal;
+  uword fatal = 0;
   u8 *msg = 0;
 
   msg = format (msg, "received signal %U, PC %U",
@@ -91,10 +92,9 @@ unix_signal_handler (int signum, siginfo_t * si, ucontext_t * uc)
       if (unix_main.vlib_main->main_loop_exit_set)
        {
          syslog (LOG_ERR | LOG_DAEMON, "received SIGTERM, exiting...");
-
-         clib_longjmp (&unix_main.vlib_main->main_loop_exit,
-                       VLIB_MAIN_LOOP_EXIT_CLI);
+         unix_main.vlib_main->main_loop_exit_now = 1;
        }
+      break;
       /* fall through */
     case SIGQUIT:
     case SIGINT:
@@ -344,6 +344,8 @@ unix_config (vlib_main_t * vm, unformat_input_t * input)
        um->cli_no_banner = 1;
       else if (unformat (input, "cli-no-pager"))
        um->cli_no_pager = 1;
+      else if (unformat (input, "poll-sleep-usec %d", &um->poll_sleep_usec))
+       ;
       else if (unformat (input, "cli-pager-buffer-limit %d",
                         &um->cli_pager_buffer_limit))
        ;
@@ -627,6 +629,7 @@ vlib_unix_main (int argc, char *argv[])
   vlib_thread_stack_init (0);
 
   __os_thread_index = 0;
+  vm->thread_index = 0;
 
   i = clib_calljmp (thread0, (uword) vm,
                    (void *) (vlib_thread_stacks[0] +