summaryrefslogtreecommitdiffstats
path: root/winsup/cygserver/bsd_log.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2017-03-24 17:26:37 +0100
committerCorinna Vinschen <corinna@vinschen.de>2017-03-24 17:55:36 +0100
commit663b4ab8243e56052d72217427bc935b3de2e9de (patch)
treed7de027f9cac1e752dd3aae8d93b6828639e16a5 /winsup/cygserver/bsd_log.h
parent4dbcfeb7d0c388eba837d5b055f669a85d057442 (diff)
downloadcygnal-663b4ab8243e56052d72217427bc935b3de2e9de.tar.gz
cygnal-663b4ab8243e56052d72217427bc935b3de2e9de.tar.bz2
cygnal-663b4ab8243e56052d72217427bc935b3de2e9de.zip
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 <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygserver/bsd_log.h')
-rw-r--r--winsup/cygserver/bsd_log.h22
1 files changed, 18 insertions, 4 deletions
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__)