sep_ext->is_ip4);
ls = listen_session_new (0, sst);
ls->app_index = app->app_index;
-
+ lh = listen_session_get_handle (ls);
if (session_listen (ls, sep_ext))
goto err;
+
+ ls = listen_session_get_from_handle (lh);
app_listener = app_listener_alloc (app);
ls->listener_db_index = app_listener->al_index;
app_listener->workers = clib_bitmap_set (app_listener->workers,
app_wrk->wrk_map_index, 1);
- *res = listen_session_get_handle (ls);
+ *res = lh;
return 0;
err:
/**
* Send event to application
*
- * Logic from queue perspective is non-blocking. That is, if there's
- * not enough space to enqueue a message, we return. However, if the lock
- * flag is set, we do wait for queue mutex.
+ * Logic from queue perspective is non-blocking. If there's
+ * not enough space to enqueue a message, we return.
*/
int
app_worker_send_event (app_worker_t * app, stream_session_t * s, u8 evt_type)
return app_send_evt_handler_fns[evt_type] (app, s, 0 /* lock */ );
}
+/**
+ * Send event to application
+ *
+ * Logic from queue perspective is blocking. However, if queue is full,
+ * we return.
+ */
int
app_worker_lock_and_send_event (app_worker_t * app, stream_session_t * s,
u8 evt_type)
if (verbose)
{
- s = format (s, "%-40s%-25s%=10u%-15u%-15u%-10u", str, app_name,
- app_wrk->wrk_map_index, app->api_client_index, handle,
- sm_index);
+ char buf[32];
+ sprintf (buf, "%u(%u)", app_wrk->wrk_map_index, app_wrk->wrk_index);
+ s = format (s, "%-40s%-25s%=10s%-15u%-15u%-10u", str, app_name,
+ buf, app->api_client_index, handle, sm_index);
}
else
s = format (s, "%-40s%-25s%=10u", str, app_name, app_wrk->wrk_map_index);