Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
session: fix first segment manager cleanup
[vpp.git]
/
src
/
vnet
/
session
/
application.c
diff --git
a/src/vnet/session/application.c
b/src/vnet/session/application.c
index
b58e73e
..
260ae58
100644
(file)
--- a/
src/vnet/session/application.c
+++ b/
src/vnet/session/application.c
@@
-557,13
+557,12
@@
app_worker_free (app_worker_t * app_wrk)
&& app_wrk->first_segment_manager != app_wrk->connects_seg_manager)
{
sm = segment_manager_get (app_wrk->first_segment_manager);
&& app_wrk->first_segment_manager != app_wrk->connects_seg_manager)
{
sm = segment_manager_get (app_wrk->first_segment_manager);
+ sm->first_is_protected = 0;
+ sm->app_wrk_index = SEGMENT_MANAGER_INVALID_APP_INDEX;
/* .. and has no fifos, e.g. it might be used for redirected sessions,
* remove it */
if (!segment_manager_has_fifos (sm))
/* .. and has no fifos, e.g. it might be used for redirected sessions,
* remove it */
if (!segment_manager_has_fifos (sm))
- {
- sm->app_wrk_index = SEGMENT_MANAGER_INVALID_APP_INDEX;
- segment_manager_del (sm);
- }
+ segment_manager_del (sm);
}
/*
}
/*
@@
-1267,9
+1266,10
@@
app_send_io_evt_rx (app_worker_t * app_wrk, stream_session_t * s, u8 lock)
evt->fifo = s->server_rx_fifo;
evt->event_type = FIFO_EVENT_APP_RX;
evt->fifo = s->server_rx_fifo;
evt->event_type = FIFO_EVENT_APP_RX;
+ (void) svm_fifo_set_event (s->server_rx_fifo);
+
if (app_enqueue_evt (mq, &msg, lock))
return -1;
if (app_enqueue_evt (mq, &msg, lock))
return -1;
- (void) svm_fifo_set_event (s->server_rx_fifo);
return 0;
}
return 0;
}