}
static inline void
-vppcom_send_accept_session_reply (u32 handle, u32 context, int retval)
+vppcom_send_accept_session_reply (u64 handle, u32 context, int retval)
{
vl_api_accept_session_reply_t *rmp;
if (VPPCOM_DEBUG > 1)
clib_warning ("[%d] vpp handle 0x%llx, sid %u: client accept "
- "request from %s address %U port %d!", getpid (),
+ "request from %s address %U port %d queue %p!", getpid (),
mp->handle, session_index, mp->is_ip4 ? "IPv4" : "IPv6",
format_ip46_address, &mp->ip, mp->is_ip4,
- clib_net_to_host_u16 (mp->port));
+ clib_net_to_host_u16 (mp->port), session->vpp_event_queue);
}
static void
}
}
rv = ready;
+
+ if (vcm->app_event_queue->cursize &&
+ !pthread_mutex_trylock (&vcm->app_event_queue->mutex))
+ {
+ u32 i, n_to_dequeue = vcm->app_event_queue->cursize;
+ session_fifo_event_t e;
+
+ for (i = 0; i < n_to_dequeue; i++)
+ unix_shared_memory_queue_sub_raw (vcm->app_event_queue, (u8 *) & e);
+
+ pthread_mutex_unlock (&vcm->app_event_queue->mutex);
+ }
+
done:
return rv;
}