api: multiple connections per process
[vpp.git] / src / vpp / api / gmon.c
index b28608f..044410f 100644 (file)
@@ -122,13 +122,8 @@ gmon_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f)
   /* Initial wait for the world to settle down */
   vlib_process_suspend (vm, 5.0);
 
-  if (vec_len (vlib_mains) == 0)
-    vec_add1 (gm->my_vlib_mains, &vlib_global_main);
-  else
-    {
-      for (i = 0; i < vec_len (vlib_mains); i++)
-       vec_add1 (gm->my_vlib_mains, vlib_mains[i]);
-    }
+  for (i = 0; i < vec_len (vlib_mains); i++)
+    vec_add1 (gm->my_vlib_mains, vlib_mains[i]);
 
   while (1)
     {
@@ -163,7 +158,7 @@ static clib_error_t *
 gmon_init (vlib_main_t * vm)
 {
   gmon_main_t *gm = &gmon_main;
-  api_main_t *am = &api_main;
+  api_main_t *am = vlibapi_get_main ();
   pid_t *swp = 0;
   f64 *v = 0;
   clib_error_t *error;
@@ -177,7 +172,7 @@ gmon_init (vlib_main_t * vm)
 
   gm->vlib_main = vm;
 
-  memset (ma, 0, sizeof (*ma));
+  clib_memset (ma, 0, sizeof (*ma));
   ma->root_path = am->root_path;
   ma->uid = am->api_uid;
   ma->gid = am->api_gid;