From 333694d7715952a9610a3e6f00807eaf5edd209a Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 12 Jan 2018 10:45:47 +0100 Subject: [PATCH] MINOR: spoe: Don't queue a SPOE context if nothing is sent When some messages must be sent to an agent, the SPOE context of the stream is queued to be handled by an SPOE applet. If there is no available applet, a new one is created, thus opening a connection with the agent. Since the support of ACLs on messages, some processing can now be discarded. So, to avoid opening a connection for nothing, the SPOE context is now queued after the messages encoding. --- src/flt_spoe.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/flt_spoe.c b/src/flt_spoe.c index e70cf111e..cb9716467 100644 --- a/src/flt_spoe.c +++ b/src/flt_spoe.c @@ -2592,9 +2592,6 @@ spoe_process_messages(struct stream *s, struct spoe_context *ctx, if (!ret) goto out; - if (spoe_queue_context(ctx) < 0) - goto error; - ctx->state = SPOE_CTX_ST_ENCODING_MSGS; /* fall through */ } @@ -2607,6 +2604,8 @@ spoe_process_messages(struct stream *s, struct spoe_context *ctx, goto error; if (!ret) goto skip; + if (spoe_queue_context(ctx) < 0) + goto error; ctx->state = SPOE_CTX_ST_SENDING_MSGS; }