return;
}
- fs_index = vcl_segment_table_lookup (mp->segment_handle);
- if (fs_index == VCL_INVALID_SEGMENT_INDEX)
+ /* Only validate if a value is provided */
+ if (mp->segment_handle != SESSION_INVALID_HANDLE)
{
- VDBG (0, "segment for session %u is not mounted!", s->session_index);
- s->session_state = VCL_STATE_DETACHED;
- return;
+ fs_index = vcl_segment_table_lookup (mp->segment_handle);
+ if (fs_index == VCL_INVALID_SEGMENT_INDEX)
+ {
+ VDBG (0, "segment %lx for session %u is not mounted!",
+ mp->segment_handle, s->session_index);
+ s->session_state = VCL_STATE_DETACHED;
+ return;
+ }
}
s->vpp_handle = mp->new_handle;
mp->new_handle = new_sh;
mp->vpp_thread_index = thread_index;
mp->vpp_evt_q = fifo_segment_msg_q_offset (eq_seg, thread_index);
- mp->segment_handle = session_segment_handle (s);
+ mp->segment_handle = SESSION_INVALID_HANDLE;
svm_msg_q_add_and_unlock (app_mq, msg);
}