vcl: add api to check if vcl disconnected from vpp
[vpp.git] / src / vcl / vppcom.c
index 9644973..ae45be3 100644 (file)
@@ -3125,7 +3125,7 @@ vcl_epoll_wait_handle_mq_event (vcl_worker_t * wrk, session_event_t * e,
       if ((EPOLLRDHUP & session_events) &&
          (s->flags & VCL_SESSION_F_RD_SHUTDOWN))
        {
-         events[*num_ev].events = EPOLLRDHUP;
+         events[*num_ev].events |= EPOLLRDHUP;
        }
       if ((EPOLLIN & session_events) && (s->flags & VCL_SESSION_F_RD_SHUTDOWN))
        {
@@ -4490,6 +4490,17 @@ vppcom_session_get_error (uint32_t session_handle)
     return VPPCOM_OK;
 }
 
+int
+vppcom_worker_is_detached (void)
+{
+  vcl_worker_t *wrk = vcl_worker_get_current ();
+
+  if (!vcm->cfg.use_mq_eventfd)
+    return VPPCOM_ENOTSUP;
+
+  return wrk->api_client_handle == ~0;
+}
+
 /*
  * fd.io coding-style-patch-verification: ON
  *