diff options
Diffstat (limited to 'src/vcl/vcl_locked.c')
-rw-r--r-- | src/vcl/vcl_locked.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vcl/vcl_locked.c b/src/vcl/vcl_locked.c index 563d97ef804..412db8def3b 100644 --- a/src/vcl/vcl_locked.c +++ b/src/vcl/vcl_locked.c @@ -847,13 +847,14 @@ vls_share_session (vls_worker_t * vls_wrk, vcl_locked_session_t * vls) vls_shared_data_pool_runlock (); - if (s->rx_fifo) + if (s->session_state == VCL_STATE_LISTEN) { - vcl_session_share_fifos (s, s->rx_fifo, s->tx_fifo); + s->session_state = VCL_STATE_LISTEN_NO_MQ; + s->rx_fifo = s->tx_fifo = 0; } - else if (s->session_state == VCL_STATE_LISTEN) + else if (s->rx_fifo) { - s->session_state = VCL_STATE_LISTEN_NO_MQ; + vcl_session_share_fifos (s, s->rx_fifo, s->tx_fifo); } } |