aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session/segment_manager.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2018-03-23 22:56:43 -0700
committerFlorin Coras <florin.coras@gmail.com>2018-03-25 21:22:41 +0000
commitf6647e0f3653929a0528f5eb97337016bdda01be (patch)
tree1c410a9b18bdd0ddae265f0799b354eed94ccad8 /src/vnet/session/segment_manager.c
parente1ace19b65aed31e5250d5087e5041345cecb620 (diff)
session: fix local session disconnects
Select the right segment manager for local sessions established via global table. Change-Id: I88ad4bf70d0cae160a0c744950098a954dfbc911 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/session/segment_manager.c')
-rw-r--r--src/vnet/session/segment_manager.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vnet/session/segment_manager.c b/src/vnet/session/segment_manager.c
index 9304dd70b5d..9dade6ec0d6 100644
--- a/src/vnet/session/segment_manager.c
+++ b/src/vnet/session/segment_manager.c
@@ -366,6 +366,14 @@ segment_manager_del_sessions (segment_manager_t * sm)
*/
while (fifo)
{
+ if (fifo->master_thread_index == 255)
+ {
+ svm_fifo_t *next = fifo->next;
+ application_local_session_disconnect_w_index (sm->app_index,
+ fifo->master_session_index);
+ fifo = next;
+ continue;
+ }
session = session_get (fifo->master_session_index,
fifo->master_thread_index);
stream_session_disconnect (session);