From: Thierry FOURNIER Date: Sun, 25 Feb 2018 09:54:56 +0000 (+0100) Subject: MINOR: spoa-server: Externalise debug functions X-Git-Tag: v2.0-dev3~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=880d7e15bad7cb8886881884f21b4e6e814dc2f3;p=thirdparty%2Fhaproxy.git MINOR: spoa-server: Externalise debug functions Make external LOG and DEBUG function. Other process can use this ones and later these functions will be replaced by another log system --- diff --git a/contrib/spoa_server/spoa.c b/contrib/spoa_server/spoa.c index 52d1c914db..94be6c0550 100644 --- a/contrib/spoa_server/spoa.c +++ b/contrib/spoa_server/spoa.c @@ -36,22 +36,6 @@ #define SLEN(str) (sizeof(str)-1) -#define LOG(fmt, args...) \ - do { \ - struct timeval now; \ - int wid = *((int*)pthread_getspecific(worker_id)); \ - \ - gettimeofday(&now, NULL); \ - fprintf(stderr, "%ld.%06ld [%02d] " fmt "\n", \ - now.tv_sec, now.tv_usec, wid, ##args); \ - } while (0) - -#define DEBUG(x...) \ - do { \ - if (debug) \ - LOG(x); \ - } while (0) - /* Frame Types sent by HAProxy and by agents */ enum spoe_frame_type { /* Frames sent by HAProxy */ @@ -110,8 +94,8 @@ static const char *spoe_frm_err_reasons[SPOE_FRM_ERRS] = { [SPOE_FRM_ERR_UNKNOWN] = "an unknown error occurred", }; -static bool debug = false; -static pthread_key_t worker_id; +bool debug = false; +pthread_key_t worker_id; static void check_ipv4_reputation(struct worker *w, struct in_addr *ipv4) diff --git a/contrib/spoa_server/spoa.h b/contrib/spoa_server/spoa.h index 81f5816c2e..92c24ac55b 100644 --- a/contrib/spoa_server/spoa.h +++ b/contrib/spoa_server/spoa.h @@ -11,9 +11,11 @@ #ifndef __SPOA_H__ #define __SPOA_H__ +#include #include #include #include +#include #define MAX_FRAME_SIZE 16384 #define SPOP_VERSION "1.0" @@ -78,4 +80,23 @@ struct spoe_data { union spoe_value u; /* spoe data value */ }; +extern bool debug; +extern pthread_key_t worker_id; + +#define LOG(fmt, args...) \ + do { \ + struct timeval now; \ + int wid = *((int*)pthread_getspecific(worker_id)); \ + \ + gettimeofday(&now, NULL); \ + fprintf(stderr, "%ld.%06ld [%02d] " fmt "\n", \ + now.tv_sec, now.tv_usec, wid, ##args); \ + } while (0) + +#define DEBUG(x...) \ + do { \ + if (debug) \ + LOG(x); \ + } while (0) + #endif /* __SPOA_H__ */