MEDIUM: stconn: Forbid applets with more to deliver if EOI was reached

When an applet is woken up, before calling its io_handler, we pretend it has
no more data to deliver. So, after the io_handler execution, it is a bug if
an applet states it has more data to deliver while the end of input is
reached.

So a BUG_ON() is added to be sure it never happens.
This commit is contained in:
Christopher Faulet 2023-04-14 09:45:41 +02:00
parent 56a2b608b0
commit e8bcef5f22

View File

@ -1847,6 +1847,8 @@ static int sc_applet_process(struct stconn *sc)
sc_abort(sc);
}
BUG_ON(sc_ep_test(sc, SE_FL_HAVE_NO_DATA|SE_FL_EOI) == SE_FL_EOI);
/* If the applet wants to write and the channel is closed, it's a
* broken pipe and it must be reported.
*/