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.
diff --git a/include/haproxy/hlua-t.h b/include/haproxy/hlua-t.h
index 775c853..2c6cbd8 100644
--- a/include/haproxy/hlua-t.h
+++ b/include/haproxy/hlua-t.h
@@ -64,6 +64,12 @@
#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
diff --git a/src/hlua.c b/src/hlua.c
index f2ed684..7f0aa9b 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -6936,7 +6936,7 @@
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 @@
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;