MINOR: lua: Add flags on the lua TXN to know the execution context

A lua TXN can be created when a sample fetch, an action or a filter callback
function is executed. A flag is now used to track the execute context.
Respectively, HLUA_TXN_SMP_CTX, HLUA_TXN_ACT_CTX and HLUA_TXN_FLT_CTX. The
filter flag is not used for now.
This commit is contained in:
Christopher Faulet 2021-08-06 16:29:41 +02:00
parent 9f55a5012e
commit 8c9e6bba0f
2 changed files with 8 additions and 2 deletions

View File

@ -64,6 +64,12 @@ struct stream;
#define HLUA_F_MAY_USE_HTTP 0x02
#define HLUA_TXN_NOTERM 0x00000001
/* 0x00000002 .. 0x00000008 unsued */
#define HLUA_TXN_SMP_CTX 0x00000010 /* Executed from a sample fecth context */
#define HLUA_TXN_ACT_CTX 0x00000020 /* Executed from a action context */
#define HLUA_TXN_FLT_CTX 0x00000030 /* Executed from a filter context */
#define HLUA_TXN_CTX_MASK 0x00000030 /* Mask to get the execution context */
#define HLUA_CONCAT_BLOCSZ 2048

View File

@ -6936,7 +6936,7 @@ static int hlua_sample_fetch_wrapper(const struct arg *arg_p, struct sample *smp
struct hlua_function *fcn = private;
struct stream *stream = smp->strm;
const char *error;
unsigned int hflags = HLUA_TXN_NOTERM;
unsigned int hflags = HLUA_TXN_NOTERM | HLUA_TXN_SMP_CTX;
if (!stream)
return 0;
@ -7254,7 +7254,7 @@ static enum act_return hlua_action(struct act_rule *rule, struct proxy *px,
struct session *sess, struct stream *s, int flags)
{
char **arg;
unsigned int hflags = 0;
unsigned int hflags = HLUA_TXN_ACT_CTX;
int dir, act_ret = ACT_RET_CONT;
const char *error;