MINOR: applet: Add an appctx flag to report shutdown to applets

There is no shutdown for reads and send with applets. Both are performed
when the appctx is released. So instead of 2 flags, like for
muxes/connections, only one flag is used. But the idea is the same:
acknowledge the event at the applet level.
This commit is contained in:
Christopher Faulet 2024-01-23 07:42:08 +01:00
parent 14bd091fd7
commit cc7b141e1c
2 changed files with 3 additions and 1 deletions

View File

@ -44,7 +44,8 @@
#define APPCTX_FL_EOS 0x00000020
#define APPCTX_FL_ERR_PENDING 0x00000040
#define APPCTX_FL_ERROR 0x00000080
#define APPCTX_FL_WANT_DIE 0x00000100 /* applet was running and requested to die */
#define APPCTX_FL_SHUTDOWN 0x00000100 /* applet was shut down (->release() called if any). No more data exchange with SCs */
#define APPCTX_FL_WANT_DIE 0x00000200 /* applet was running and requested to die */
struct appctx;
struct proxy;

View File

@ -395,6 +395,7 @@ void appctx_shut(struct appctx *appctx)
TRACE_ENTER(APPLET_EV_RELEASE, appctx);
if (appctx->applet->release)
appctx->applet->release(appctx);
applet_fl_set(appctx, APPCTX_FL_SHUTDOWN);
if (LIST_INLIST(&appctx->buffer_wait.list))
LIST_DEL_INIT(&appctx->buffer_wait.list);