aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/quic
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2019-07-22 16:30:40 +0200
committerFlorin Coras <florin.coras@gmail.com>2019-08-02 21:51:48 +0000
commit46eb1950a13b7b01afcc83cb3d8ce59012dfee46 (patch)
treebe04cd1fec77198307fc18e6ead75e63fea496ef /src/plugins/quic
parentbe0ffbc70a1acdaf616d437f83ae2df7801775e8 (diff)
quic: Improve quic echo connect threading
Type: fix Change-Id: I64f90139ad70e722f1ecbc4e0c6c1e723ec0f054 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Diffstat (limited to 'src/plugins/quic')
-rw-r--r--src/plugins/quic/quic.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/plugins/quic/quic.c b/src/plugins/quic/quic.c
index af482d9dd36..43ac87990da 100644
--- a/src/plugins/quic/quic.c
+++ b/src/plugins/quic/quic.c
@@ -44,7 +44,7 @@ quic_ctx_alloc (u32 thread_index)
memset (ctx, 0, sizeof (quic_ctx_t));
ctx->c_thread_index = thread_index;
- QUIC_DBG (1, "Allocated quic_ctx %u on thread %u",
+ QUIC_DBG (3, "Allocated quic_ctx %u on thread %u",
ctx - qm->ctx_pool[thread_index], thread_index);
return ctx - qm->ctx_pool[thread_index];
}
@@ -634,8 +634,7 @@ quic_accept_stream (void *s)
SVM_FIFO_WANT_DEQ_NOTIF_IF_FULL |
SVM_FIFO_WANT_DEQ_NOTIF_IF_EMPTY);
- rv = app_worker_accept_notify (app_wrk, stream_session);
- if (rv)
+ if ((rv = app_worker_accept_notify (app_wrk, stream_session)))
{
QUIC_DBG (1, "failed to notify accept worker app");
session_free_w_fifos (stream_session);
@@ -1130,6 +1129,7 @@ quic_proto_on_close (u32 ctx_index, u32 thread_index)
quicly_stream_t *stream = ctx->stream;
quicly_reset_stream (stream, QUIC_APP_ERROR_CLOSE_NOTIFY);
quic_send_packets (ctx);
+ return;
}
switch (ctx->conn_state)
@@ -1355,6 +1355,7 @@ quic_on_client_connected (quic_ctx_t * ctx)
app_worker_t *app_wrk;
u32 ctx_id = ctx->c_c_index;
u32 thread_index = ctx->c_thread_index;
+ int rv;
app_wrk = app_worker_get_if_valid (ctx->parent_app_wrk_id);
if (!app_wrk)
@@ -1381,9 +1382,10 @@ quic_on_client_connected (quic_ctx_t * ctx)
}
quic_session->session_state = SESSION_STATE_CONNECTING;
- if (app_worker_connect_notify (app_wrk, quic_session, ctx->client_opaque))
+ if ((rv = app_worker_connect_notify (app_wrk, quic_session,
+ ctx->client_opaque)))
{
- QUIC_DBG (1, "failed to notify app");
+ QUIC_DBG (1, "failed to notify app %d", rv);
quic_proto_on_close (ctx_id, thread_index);
return -1;
}
@@ -1824,8 +1826,7 @@ quic_create_quic_session (quic_ctx_t * ctx)
return rv;
}
app_wrk = app_worker_get (quic_session->app_wrk_index);
- rv = app_worker_accept_notify (app_wrk, quic_session);
- if (rv)
+ if ((rv = app_worker_accept_notify (app_wrk, quic_session)))
{
QUIC_DBG (1, "failed to notify accept worker app");
return rv;