diff --git a/src/applet.c b/src/applet.c index def5c2aff..90aa89f5d 100644 --- a/src/applet.c +++ b/src/applet.c @@ -910,7 +910,8 @@ struct task *task_process_applet(struct task *t, void *context, unsigned int sta TRACE_POINT(APPLET_EV_PROCESS, app); - if (b_data(&app->outbuf) || se_fl_test(app->sedesc, SE_FL_MAY_FASTFWD_PROD)) + if (b_data(&app->outbuf) || se_fl_test(app->sedesc, SE_FL_MAY_FASTFWD_PROD) || + applet_fl_test(app, APPCTX_FL_EOI|APPCTX_FL_EOS|APPCTX_FL_ERROR)) applet_have_more_data(app); sc_applet_sync_recv(sc);