MINOR: stconn/applet: Handle EOI in the applet .wake callback function

The end of input reported by the endpoint (SE_FL_EOI flag), is now handled
in sc_applet_process(). This function is always called after an applet was
called. So, the applets can now only report EOI on the SE descriptor and
have no reason to update the channel too.
This commit is contained in:
Christopher Faulet 2023-03-21 11:49:21 +01:00
parent b208d8cd64
commit f8fbb6de66

View File

@ -1822,6 +1822,13 @@ static int sc_applet_process(struct stconn *sc)
BUG_ON(!sc_appctx(sc));
/* Report EOI on the channel if it was reached from the applet point of
* view. */
if (sc_ep_test(sc, SE_FL_EOI) && !(ic->flags & CF_EOI)) {
sc_ep_report_read_activity(sc);
ic->flags |= (CF_EOI|CF_READ_EVENT);
}
/* If the applet wants to write and the channel is closed, it's a
* broken pipe and it must be reported.
*/