session: no segment handle on worker del
[vpp.git] / src / vnet / session / session_api.c
index 06edb82..0574a58 100644 (file)
@@ -709,9 +709,9 @@ done:
     ((!rv && mp->is_add) ? vec_len (args.segment->name) : 0), ({
       rmp->is_add = mp->is_add;
       rmp->wrk_index = clib_host_to_net_u32 (args.wrk_map_index);
-      rmp->segment_handle = clib_host_to_net_u64 (args.segment_handle);
       if (!rv && mp->is_add)
        {
+         rmp->segment_handle = clib_host_to_net_u64 (args.segment_handle);
          rmp->app_event_queue_address =
            fifo_segment_msg_q_offset ((fifo_segment_t *) args.segment, 0);
          rmp->n_fds = n_fds;
@@ -1473,9 +1473,9 @@ done:
   rmp->is_add = mp->is_add;
   rmp->api_client_handle = sapi_handle;
   rmp->wrk_index = args.wrk_map_index;
-  rmp->segment_handle = args.segment_handle;
   if (!rv && mp->is_add)
     {
+      rmp->segment_handle = args.segment_handle;
       /* No segment name and size. This supports only memfds */
       rmp->app_event_queue_address =
        fifo_segment_msg_q_offset ((fifo_segment_t *) args.segment, 0);