7
#if defined(DDEBUG) && (DDEBUG)
9
# if (NGX_HAVE_VARIADIC_MACROS)
11
# define dd(...) fprintf(stderr, "echo *** %s: ", __func__); \
12
fprintf(stderr, __VA_ARGS__); \
13
fprintf(stderr, " at %s line %d.\n", __FILE__, __LINE__)
22
static void dd(const char * fmt, ...) {
29
# define dd_enter() dd_enter_helper(r, __func__)
31
static void dd_enter_helper(ngx_http_request_t *r, const char *func) {
32
ngx_http_posted_request_t *pr;
34
fprintf(stderr, ">enter %s %.*s %.*s?%.*s c:%d m:%p r:%p ar:%p pr:%p",
36
(int) r->method_name.len, r->method_name.data,
37
(int) r->uri.len, r->uri.data,
38
(int) r->args.len, r->args.data,
39
0/*(int) r->main->count*/, r->main,
40
r, r->connection->data, r->parent);
42
if (r->posted_requests) {
43
fprintf(stderr, " posted:");
45
for (pr = r->posted_requests; pr; pr = pr->next) {
46
fprintf(stderr, "%p,", pr);
50
fprintf(stderr, "\n");
61
# if (NGX_HAVE_VARIADIC_MACROS)
71
static void dd(const char * fmt, ...) {
74
static void dd_enter() {
81
#if defined(DDEBUG) && (DDEBUG)
83
#define dd_check_read_event_handler(r) \
84
dd("r->read_event_handler = %s", \
85
r->read_event_handler == ngx_http_block_reading ? \
86
"ngx_http_block_reading" : \
87
r->read_event_handler == ngx_http_test_reading ? \
88
"ngx_http_test_reading" : \
89
r->read_event_handler == ngx_http_request_empty_handler ? \
90
"ngx_http_request_empty_handler" : "UNKNOWN")
92
#define dd_check_write_event_handler(r) \
93
dd("r->write_event_handler = %s", \
94
r->write_event_handler == ngx_http_handler ? \
95
"ngx_http_handler" : \
96
r->write_event_handler == ngx_http_core_run_phases ? \
97
"ngx_http_core_run_phases" : \
98
r->write_event_handler == ngx_http_request_empty_handler ? \
99
"ngx_http_request_empty_handler" : "UNKNOWN")
103
#define dd_check_read_event_handler(r)
104
#define dd_check_write_event_handler(r)
108
#endif /* DDEBUG_H */