mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-10 09:07:02 +02:00
MINOR: applet: add a function to reset the svcctx of an applet
The CLI needs to reset the svcctx between commands, and there was nothing done to handle this. Let's add appctx_reset_svcctx() to do that, it's the closing equivalent of appctx_reserve_svcctx(). This will have to be backported to 2.6 as it will be used by a subsequent patch to fix a bug.
This commit is contained in:
parent
115ccce867
commit
1cc08a33e1
@ -40,6 +40,7 @@ extern struct pool_head *pool_head_appctx;
|
|||||||
struct task *task_run_applet(struct task *t, void *context, unsigned int state);
|
struct task *task_run_applet(struct task *t, void *context, unsigned int state);
|
||||||
int appctx_buf_available(void *arg);
|
int appctx_buf_available(void *arg);
|
||||||
void *applet_reserve_svcctx(struct appctx *appctx, size_t size);
|
void *applet_reserve_svcctx(struct appctx *appctx, size_t size);
|
||||||
|
void applet_reset_svcctx(struct appctx *appctx);
|
||||||
void appctx_shut(struct appctx *appctx);
|
void appctx_shut(struct appctx *appctx);
|
||||||
|
|
||||||
struct appctx *appctx_new_on(struct applet *applet, struct sedesc *sedesc, int thr);
|
struct appctx *appctx_new_on(struct applet *applet, struct sedesc *sedesc, int thr);
|
||||||
|
@ -142,6 +142,15 @@ void *applet_reserve_svcctx(struct appctx *appctx, size_t size)
|
|||||||
return appctx->svcctx;
|
return appctx->svcctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This is used to reset an svcctx and the svc.storage without releasing the
|
||||||
|
* appctx. In fact this is only used by the CLI applet between commands.
|
||||||
|
*/
|
||||||
|
void applet_reset_svcctx(struct appctx *appctx)
|
||||||
|
{
|
||||||
|
memset(&appctx->svc.storage, 0, APPLET_MAX_SVCCTX);
|
||||||
|
appctx->svcctx = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* call the applet's release() function if any, and marks the sedesc as shut.
|
/* call the applet's release() function if any, and marks the sedesc as shut.
|
||||||
* Needs to be called upon close().
|
* Needs to be called upon close().
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user