If a release handler produces a final message, it's currently left
pending in the CLI context and needs another I/O event to be dumped
because immediately after calling ->release, we check for states
OUTPUT and above and we wait until more data arrives.
This patch adds continue statement to go back to the loop immediately
after leaving the release handler in order to attempt to emit the
output message.
At this point it's not sure whether any release handlers are producing
messages, so it's probably not needed to backport this.
if (appctx->io_release) {
appctx->io_release(appctx);
appctx->io_release = NULL;
+ /* some release handlers might have
+ * pending output to print.
+ */
+ continue;
}
}
break;