vls: add pthread check on vls_attr

Change-Id: I455d108dfe52d45d040167fecb37b33e9d630c3c
Signed-off-by: Florin Coras <fcoras@cisco.com>
diff --git a/src/vcl/vcl_locked.c b/src/vcl/vcl_locked.c
index fb19b5d..5539191 100644
--- a/src/vcl/vcl_locked.c
+++ b/src/vcl/vcl_locked.c
@@ -468,7 +468,7 @@
 
 #define vls_mt_guard(_vls, _op)				\
   int _locks_acq = 0;					\
-  if (PREDICT_FALSE (vcl_get_worker_index () == ~0));	\
+  if (PREDICT_FALSE (vcl_get_worker_index () == ~0))	\
     vls_mt_add ();					\
   if (PREDICT_FALSE (vlsl->vls_mt_n_threads > 1))	\
     vls_mt_acq_locks (_vls, _op, &_locks_acq);		\
@@ -562,6 +562,9 @@
   vcl_locked_session_t *vls;
   int rv;
 
+  if (PREDICT_FALSE (vcl_get_worker_index () == ~0))
+    vls_mt_add ();
+
   if (!(vls = vls_get_w_dlock (vlsh)))
     return VPPCOM_EBADFD;
   rv = vppcom_session_attr (vls_to_sh_tu (vls), op, buffer, buflen);
@@ -735,6 +738,9 @@
   vcl_session_handle_t sh;
   vls_handle_t vlsh;
 
+  if (PREDICT_FALSE (vcl_get_worker_index () == ~0))
+    vls_mt_add ();
+
   sh = vppcom_epoll_create ();
   if (sh == INVALID_SESSION_ID)
     return VLS_INVALID_HANDLE;