From 663b4ab8243e56052d72217427bc935b3de2e9de Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 24 Mar 2017 17:26:37 +0100 Subject: cygserver: Speed up non-debug scenario _log/_vlog were always called so we always had a function call hit even if we're not debugging. Expand on the debugging macros so the decision to call _log/_vlog is done in the caller already. Also, make a log level difference between syscall_printf and system_printf. Signed-off-by: Corinna Vinschen --- winsup/cygserver/bsd_log.h | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'winsup/cygserver/bsd_log.h') diff --git a/winsup/cygserver/bsd_log.h b/winsup/cygserver/bsd_log.h index 58d05171d..5eae6348a 100644 --- a/winsup/cygserver/bsd_log.h +++ b/winsup/cygserver/bsd_log.h @@ -19,12 +19,26 @@ extern tun_bool_t log_stderr; void loginit (tun_bool_t, tun_bool_t); void _vlog (const char *, int, int, const char *, va_list); void _log (const char *, int, int, const char *, ...); -void _vpanic (const char *, int, const char *, va_list) __attribute__ ((noreturn)); -void _panic (const char *, int, const char *, ...) __attribute__ ((noreturn)); + #define vlog(l,f,a) _vlog(NULL,0,(l),(f),(a)) #define log(l,f,...) _log(NULL,0,(l),(f),##__VA_ARGS__) -#define vdebug(f,a) _vlog(__FILE__,__LINE__,LOG_DEBUG,(f),(a)) -#define debug(f,...) _log(__FILE__,__LINE__,LOG_DEBUG,(f),##__VA_ARGS__) + +#define _vdebug(F,L,f,a) \ + do { if (log_debug == TUN_TRUE) \ + _vlog((F),(L),LOG_DEBUG,(f),(a)) \ + } while (0) + +#define _debug(F,L,f,...) \ + do { if (log_debug == TUN_TRUE) \ + _log((F),(L),LOG_DEBUG,(f),##__VA_ARGS__); \ + } while (0) + +#define vdebug(f,a) _vdebug(__FILE__,__LINE__,(f),(a)) +#define debug(f,...) _debug(__FILE__,__LINE__,(f),##__VA_ARGS__) + +void _vpanic (const char *, int, const char *, va_list) + __attribute__ ((noreturn)); +void _panic (const char *, int, const char *, ...) __attribute__ ((noreturn)); #define vpanic(f,a) _vpanic(__FILE__,__LINE__,(f),(a)) #define panic(f,...) _panic(__FILE__,__LINE__,(f),##__VA_ARGS__) -- cgit v1.2.3