1 #ifndef DDEBUG_H
2 #define DDEBUG_H
3
4 #include <ngx_config.h>
5 #include <ngx_core.h>
6
7 #if defined(DDEBUG) && (DDEBUG)
8
9 # if (NGX_HAVE_VARIADIC_MACROS)
10
11 # define dd(...) fprintf(stderr, "redis2 *** "); \
12 fprintf(stderr, __VA_ARGS__); \
13 fprintf(stderr, " at %s line %d.\n", __FILE__, __LINE__)
14
15 # else
16
17 #include <stdarg.h>
18 #include <stdio.h>
19
20 #include <stdarg.h>
21
22 static ngx_inline void
dd(const char * fmt,...)23 dd(const char* fmt, ...) {
24 }
25
26 # endif
27
28 #else
29
30 # if (NGX_HAVE_VARIADIC_MACROS)
31
32 # define dd(...)
33
34 # else
35
36 #include <stdarg.h>
37
38 static ngx_inline void
dd(const char * fmt,...)39 dd(const char* fmt, ...) {
40 }
41
42 # endif
43
44 #endif
45
46 #if defined(DDEBUG) && (DDEBUG)
47
48 #define dd_check_read_event_handler(r) \
49 dd("r->read_event_handler = %s", \
50 r->read_event_handler == ngx_http_block_reading ? \
51 "ngx_http_block_reading" : \
52 r->read_event_handler == ngx_http_test_reading ? \
53 "ngx_http_test_reading" : \
54 r->read_event_handler == ngx_http_request_empty_handler ? \
55 "ngx_http_request_empty_handler" : "UNKNOWN")
56
57 #define dd_check_write_event_handler(r) \
58 dd("r->write_event_handler = %s", \
59 r->write_event_handler == ngx_http_handler ? \
60 "ngx_http_handler" : \
61 r->write_event_handler == ngx_http_core_run_phases ? \
62 "ngx_http_core_run_phases" : \
63 r->write_event_handler == ngx_http_request_empty_handler ? \
64 "ngx_http_request_empty_handler" : "UNKNOWN")
65
66 #else
67
68 #define dd_check_read_event_handler(r)
69 #define dd_check_write_event_handler(r)
70
71 #endif
72
73 #endif /* DDEBUG_H */
74
75