session: grab worker barrier for sapi msgs 59/28959/2
authorFlorin Coras <fcoras@cisco.com>
Fri, 18 Sep 2020 23:15:47 +0000 (16:15 -0700)
committerFlorin Coras <florin.coras@gmail.com>
Fri, 18 Sep 2020 23:15:41 +0000 (23:15 +0000)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7cdbcfeb6f77a720e190daf9fe555320e586bba8

src/vnet/session/session_api.c

index 89a30d2..bda98b7 100644 (file)
@@ -1534,6 +1534,7 @@ static clib_error_t *
 sapi_sock_read_ready (clib_file_t * cf)
 {
   app_ns_api_handle_t *handle = (app_ns_api_handle_t *) & cf->private_data;
+  vlib_main_t *vm = vlib_get_main ();
   app_sapi_msg_t msg = { 0 };
   app_namespace_t *app_ns;
   clib_error_t *err = 0;
@@ -1554,6 +1555,8 @@ sapi_sock_read_ready (clib_file_t * cf)
 
   handle = (app_ns_api_handle_t *) & cs->private_data;
 
+  vlib_worker_thread_barrier_sync (vm);
+
   switch (msg.type)
     {
     case APP_SAPI_MSG_TYPE_ATTACH:
@@ -1568,6 +1571,8 @@ sapi_sock_read_ready (clib_file_t * cf)
       break;
     }
 
+  vlib_worker_thread_barrier_release (vm);
+
 error:
   return 0;
 }