mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-09 16:47:18 +02:00
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:
parent
9f55a5012e
commit
8c9e6bba0f
@ -64,6 +64,12 @@ struct stream;
|
|||||||
#define HLUA_F_MAY_USE_HTTP 0x02
|
#define HLUA_F_MAY_USE_HTTP 0x02
|
||||||
|
|
||||||
#define HLUA_TXN_NOTERM 0x00000001
|
#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
|
#define HLUA_CONCAT_BLOCSZ 2048
|
||||||
|
|
||||||
|
@ -6936,7 +6936,7 @@ static int hlua_sample_fetch_wrapper(const struct arg *arg_p, struct sample *smp
|
|||||||
struct hlua_function *fcn = private;
|
struct hlua_function *fcn = private;
|
||||||
struct stream *stream = smp->strm;
|
struct stream *stream = smp->strm;
|
||||||
const char *error;
|
const char *error;
|
||||||
unsigned int hflags = HLUA_TXN_NOTERM;
|
unsigned int hflags = HLUA_TXN_NOTERM | HLUA_TXN_SMP_CTX;
|
||||||
|
|
||||||
if (!stream)
|
if (!stream)
|
||||||
return 0;
|
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)
|
struct session *sess, struct stream *s, int flags)
|
||||||
{
|
{
|
||||||
char **arg;
|
char **arg;
|
||||||
unsigned int hflags = 0;
|
unsigned int hflags = HLUA_TXN_ACT_CTX;
|
||||||
int dir, act_ret = ACT_RET_CONT;
|
int dir, act_ret = ACT_RET_CONT;
|
||||||
const char *error;
|
const char *error;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user