From 0bc78d80363efc22d07171473933d1b0016440e4 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Sat, 9 Jan 2021 14:34:01 -0800 Subject: session svm: fix fifo migration Allocate and attach a new pair of private fifos in the right private slice when a session is cloned. This ensures that private fifos are not shared between workers. Type: fix Signed-off-by: Florin Coras Change-Id: Ib700d18104d2ca79aa8a07434cdcdcab0bef13a5 --- src/vnet/session/segment_manager.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/vnet/session/segment_manager.c') diff --git a/src/vnet/session/segment_manager.c b/src/vnet/session/segment_manager.c index 2d20d9cc1e4..61108326abc 100644 --- a/src/vnet/session/segment_manager.c +++ b/src/vnet/session/segment_manager.c @@ -800,27 +800,27 @@ segment_manager_dealloc_fifos (svm_fifo_t * rx_fifo, svm_fifo_t * tx_fifo) } void -segment_manager_detach_fifo (segment_manager_t * sm, svm_fifo_t * f) +segment_manager_detach_fifo (segment_manager_t *sm, svm_fifo_t **f) { fifo_segment_t *fs; - fs = segment_manager_get_segment_w_lock (sm, f->segment_index); + fs = segment_manager_get_segment_w_lock (sm, (*f)->segment_index); fifo_segment_detach_fifo (fs, f); segment_manager_segment_reader_unlock (sm); } void -segment_manager_attach_fifo (segment_manager_t * sm, svm_fifo_t * f, - session_t * s) +segment_manager_attach_fifo (segment_manager_t *sm, svm_fifo_t **f, + session_t *s) { fifo_segment_t *fs; - fs = segment_manager_get_segment_w_lock (sm, f->segment_index); + fs = segment_manager_get_segment_w_lock (sm, (*f)->segment_index); fifo_segment_attach_fifo (fs, f, s->thread_index); segment_manager_segment_reader_unlock (sm); - f->shr->master_session_index = s->session_index; - f->master_thread_index = s->thread_index; + (*f)->shr->master_session_index = s->session_index; + (*f)->master_thread_index = s->thread_index; } u32 -- cgit 1.2.3-korg