]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: lua: remove some #define
authorThierry FOURNIER <tfournier@exceliance.fr>
Wed, 4 Mar 2015 15:48:34 +0000 (16:48 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 4 Mar 2015 16:58:52 +0000 (17:58 +0100)
The #define compilation directives are centralized in the hlua
include files. This permits to remove ome #ifdef from the haproxy
main code.

include/proto/hlua.h
include/types/hlua.h
include/types/session.h
include/types/stream_interface.h
src/haproxy.c
src/hlua.c
src/session.c

index 50d6aa333ecbda5167a8aa25231771914a13a5dd..b9530aa0a5d1fcd06ceafa78bdbaba3ef4ca12e1 100644 (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 */
index d0e0348e59e311354dcdf63345e4d87633e03609..2257d5c8abe3996c85ae12c31b9a125d6d3ace03 100644 (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 */
index ad31ae2dd93b58bb3db76795c7b1537749cea37d..8aa20bd88c6d448a74d2f3492a00d0fc64eaf84f 100644 (file)
 
 #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 */
index ab0e750c4f92c8a0b816a608b3b8fb5df5fe1083..03cdd6e32e9184031d9624821bad3929328dc177 100644 (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 */
 };
 
index 19687b2f2931bbb24ae6cea83a1f71b281742c99..872aab827b20d8b73a8809d9e10ec65f7376b40f 100644 (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)
index d3f302f0b91283a05fbdf6d7a53e6086441118fc..83c31a7ac29ad76f02280cab8edbaba799760b69 100644 (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);
 
index 77ec4ca2ab761f52e4c807e4db28b8de0d21ddc3..fd1a60621e86cf40c95be4c845d725cf2220772e 100644 (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);