Make the dprint() processing out-of-line
[fio.git] / debug.h
diff --git a/debug.h b/debug.h
index 71b346d8d41bc716dfd59b3d1e1887cdcbebe89a..e51d8b202ab5318fa128346c47fd97833df60bf0 100644 (file)
--- a/debug.h
+++ b/debug.h
@@ -32,23 +32,20 @@ extern struct debug_level debug_levels[];
 
 extern unsigned long fio_debug;
 
-#define dprint(type, str, args...)                             \
-       do {                                                    \
-               pid_t pid = getpid();                           \
-               assert(type < FD_DEBUG_MAX);                    \
-               if ((((1 << type)) & fio_debug) == 0)           \
-                       break;                                  \
-               if (fio_debug_jobp && *fio_debug_jobp != -1U    \
-                   && pid != *fio_debug_jobp)                  \
-                       break;                                  \
-               log_info("%-8s ", debug_levels[(type)].name);   \
-               log_info("%-5u ", (int) pid);                   \
-               log_info(str, ##args);                          \
-       } while (0)
+void __dprint(int type, const char *str, ...);
+
+#define dprint(type, str, args...)                     \
+       do {                                            \
+               if ((((1 << type)) & fio_debug) == 0)   \
+                       break;                          \
+               __dprint((type), (str), ##args);        \
+       } while (0)                                     \
 
 #else
 
-#define dprint(type, str, args...)
+static inline void dprint(int type, const char *str, ...)
+{
+}
 #endif
 
 #endif