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.
#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
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;
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;