MINOR: lua: remove some #define

The #define compilation directives are centralized in the hlua
include files. This permits to remove ome #ifdef from the haproxy
main code.
This commit is contained in:
Thierry FOURNIER 2015-03-04 16:48:34 +01:00 committed by Willy Tarreau
parent 5c49aeb1b0
commit a718b29b6d
7 changed files with 30 additions and 24 deletions

View File

@ -1,13 +1,28 @@
#ifndef _PROTO_HLUA_H
#define _PROTO_HLUA_H
#ifdef USE_LUA
#include <lua.h>
#include <types/hlua.h>
#define HLUA_INIT(__hlua) do { (__hlua)->T = 0; } while(0)
/* Lua HAProxy integration functions. */
void hlua_ctx_destroy(struct hlua *lua);
void hlua_init();
int hlua_post_init();
#else /* USE_LUA */
#define HLUA_INIT(__hlua)
/* Empty function for compilation without Lua. */
static inline void hlua_init() { }
static inline int hlua_post_init() { return 1; }
static inline void hlua_ctx_destroy() { }
#endif /* USE_LUA */
#endif /* _PROTO_HLUA_H */

View File

@ -1,6 +1,8 @@
#ifndef _TYPES_HLUA_H
#define _TYPES_HLUA_H
#ifdef USE_LUA
#include <lua.h>
#include <lauxlib.h>
@ -121,4 +123,12 @@ struct hlua_channel {
struct channel *chn;
};
#else /* USE_LUA */
/* Empty struct for compilation compatibility */
struct hlua { };
struct hlua_socket { };
#endif /* USE_LUA */
#endif /* _TYPES_HLUA_H */

View File

@ -33,10 +33,7 @@
#include <types/channel.h>
#include <types/compression.h>
#ifdef USE_LUA
#include <types/hlua.h>
#endif
#include <types/obj_type.h>
#include <types/proto_http.h>
#include <types/proxy.h>
@ -164,9 +161,7 @@ struct session {
struct list *current_rule_list; /* this is used to store the current executed rule list. */
struct list *current_rule; /* this is used to store the current rule to be resumed. */
#ifdef USE_LUA
struct hlua hlua; /* lua runtime context */
#endif
};
#endif /* _TYPES_SESSION_H */

View File

@ -27,9 +27,7 @@
#include <types/channel.h>
#include <types/connection.h>
#ifdef USE_LUA
#include <types/hlua.h>
#endif
#include <types/obj_type.h>
#include <common/config.h>
@ -153,14 +151,12 @@ struct appctx {
struct pattern_expr *expr;
struct chunk chunk;
} map;
#ifdef USE_LUA
struct {
int connected;
struct hlua_socket *socket;
struct list wake_on_read;
struct list wake_on_write;
} hlua;
#endif
} ctx; /* used by stats I/O handlers to dump the stats */
};

View File

@ -88,9 +88,7 @@
#include <proto/connection.h>
#include <proto/fd.h>
#include <proto/hdr_idx.h>
#ifdef USE_LUA
#include <proto/hlua.h>
#endif
#include <proto/listener.h>
#include <proto/log.h>
#include <proto/pattern.h>
@ -567,10 +565,8 @@ void init(int argc, char **argv)
init_pendconn();
init_proto_http();
#ifdef USE_LUA
/* Initialise lua. */
hlua_init();
#endif
global.tune.options |= GTUNE_USE_SELECT; /* select() is always available */
#if defined(ENABLE_POLL)
@ -1064,10 +1060,8 @@ void init(int argc, char **argv)
if (!global.node)
global.node = strdup(hostname);
#ifdef USE_LUA
if (!hlua_post_init())
exit(1);
#endif
}
static void deinit_acl_cond(struct acl_cond *cond)

View File

@ -526,6 +526,9 @@ int hlua_ctx_init(struct hlua *lua, struct task *task)
*/
void hlua_ctx_destroy(struct hlua *lua)
{
if (!lua->T)
return;
/* Remove context. */
hlua_delhlua(lua);

View File

@ -33,9 +33,7 @@
#include <proto/freq_ctr.h>
#include <proto/frontend.h>
#include <proto/hdr_idx.h>
#ifdef USE_LUA
#include <proto/hlua.h>
#endif
#include <proto/listener.h>
#include <proto/log.h>
#include <proto/raw_sock.h>
@ -544,9 +542,7 @@ int session_complete(struct session *s)
txn->req.chn = s->req;
txn->rsp.chn = s->rep;
#ifdef USE_LUA
s->hlua.T = NULL;
#endif
HLUA_INIT(&s->hlua);
/* finish initialization of the accepted file descriptor */
conn_data_want_recv(conn);
@ -635,10 +631,7 @@ static void session_free(struct session *s)
if (!LIST_ISEMPTY(&buffer_wq))
session_offer_buffers();
#ifdef USE_LUA
if (s->hlua.T)
hlua_ctx_destroy(&s->hlua);
#endif
hlua_ctx_destroy(&s->hlua);
pool_free2(pool2_channel, s->req);
pool_free2(pool2_channel, s->rep);