| line |
true |
false |
branch |
|
50
|
5 |
187 |
if (lsnr->server_name) |
|
55
|
5 |
187 |
if (lsnr->server_port) |
|
70
|
144 |
47 |
if (server->n_listeners == 0) { |
|
77
|
134 |
47 |
for (j = 0; j < server->n_listeners; j++) { |
|
78
|
0 |
134 |
if (server->listeners[j].fd == -1) { |
|
81
|
0 |
0 |
if (lsnr->tls_ctx_ref) { |
|
89
|
47 |
0 |
if (!lsnr) { |
|
90
|
47 |
0 |
if (server->n_listeners < FEER_MAX_LISTENERS) { |
|
109
|
0 |
191 |
if (getsockname(fd, (struct sockaddr*)&addr, &addr_len) == -1) { |
|
121
|
0 |
191 |
if (setsockopt(fd, IPPROTO_TCP, TCP_DEFER_ACCEPT, &(int){1}, sizeof(int)) < 0) |
|
139
|
144 |
47 |
if (!server->watchers_initialized) { |
|
154
|
25 |
22 |
} else if (!ev_is_active(&server->ep)) { |
|
161
|
109 |
82 |
if (!ev_is_active(&date_timer)) { |
|
179
|
14 |
14 |
for (i = 0; i < server->n_listeners; i++) { |
|
184
|
2 |
12 |
if (lsnr->epoll_fd >= 0) { |
|
185
|
0 |
2 |
if (unlikely(close(lsnr->epoll_fd) < 0)) |
|
194
|
10 |
4 |
if (server->watchers_initialized) { |
|
196
|
10 |
0 |
if (--date_timer_refs <= 0) { |
|
208
|
0 |
2 |
if (server->shutting_down) { |
|
213
|
2 |
2 |
for (i = 0; i < server->n_listeners; i++) { |
|
215
|
1 |
1 |
if (!lsnr->paused && ev_is_active(&lsnr->accept_w)) { |
|
|
1 |
0 |
if (!lsnr->paused && ev_is_active(&lsnr->accept_w)) { |
|
222
|
1 |
1 |
if (paused_any) |
|
233
|
0 |
2 |
if (server->shutting_down) { |
|
238
|
2 |
2 |
for (i = 0; i < server->n_listeners; i++) { |
|
240
|
1 |
1 |
if (lsnr->paused) { |
|
247
|
1 |
1 |
if (resumed_any) |
|
259
|
3 |
1 |
for (i = 0; i < server->n_listeners; i++) { |
|
260
|
2 |
1 |
if (!server->listeners[i].paused) { RETVAL = 0; break; } |
|
273
|
210 |
0 |
if (unlikely(!SvOK(cb) || !SvROK(cb))) |
|
|
0 |
210 |
if (unlikely(!SvOK(cb) || !SvROK(cb))) |
|
275
|
72 |
138 |
if (server->request_cb_cv) |
|
289
|
7 |
0 |
if (!IsCodeRef(cb)) |
|
|
0 |
7 |
if (!IsCodeRef(cb)) |
|
291
|
1 |
6 |
if (unlikely(server->shutting_down)) |
|
297
|
6 |
6 |
for (i = 0; i < server->n_listeners; i++) { |
|
302
|
0 |
6 |
if (lsnr->epoll_fd >= 0) { |
|
303
|
0 |
0 |
if (unlikely(close(lsnr->epoll_fd) < 0)) |
|
308
|
0 |
0 |
if (lsnr->fd >= 0) { |
|
309
|
0 |
0 |
if (unlikely(close(lsnr->fd) < 0)) |
|
316
|
6 |
0 |
if (lsnr->accept_w.fd >= 0) { |
|
317
|
0 |
6 |
if (unlikely(close(lsnr->accept_w.fd) < 0)) |
|
326
|
0 |
6 |
while (feer_server_recycle_idle_conn(server)) |
|
329
|
5 |
1 |
if (server->active_conns <= 0 && server->shutdown_cb_cv) { |
|
|
5 |
0 |
if (server->active_conns <= 0 && server->shutdown_cb_cv) { |
|
340
|
6018 |
2012 |
if (items > 1) { |
|
342
|
3 |
6015 |
if (!(val > 0.0)) |
|
347
|
7996 |
31 |
RETVAL = server->read_timeout; |
|
357
|
16 |
3 |
if (items > 1) { |
|
359
|
1 |
15 |
if (val < 0.0) |
|
364
|
0 |
18 |
RETVAL = server->header_timeout; |
|
374
|
3 |
3 |
if (items > 1) { |
|
376
|
1 |
2 |
if (val < 0.0) |
|
381
|
0 |
5 |
RETVAL = server->write_timeout; |
|
406
|
0 |
4 |
RETVAL = server->use_reverse_proxy; |
|
423
|
0 |
0 |
RETVAL = server->psgix_io; |
|
440
|
0 |
4 |
RETVAL = server->use_proxy_protocol; |
|
464
|
0 |
10 |
RETVAL = server->use_epoll_exclusive ? 1 : 0; |
|
483
|
6004 |
12016 |
: ix == 1 ? &server->write_priority |
|
484
|
6008 |
6008 |
: &server->read_priority; |
|
485
|
18012 |
8 |
if (items > 1) { |
|
487
|
2 |
18010 |
if (new_priority < EV_MINPRI) new_priority = EV_MINPRI; |
|
488
|
2 |
18010 |
if (new_priority > EV_MAXPRI) new_priority = EV_MAXPRI; |
|
492
|
17991 |
29 |
RETVAL = *field; |
|
502
|
6 |
8 |
if (items > 1) { |
|
504
|
2 |
4 |
if (new_max < 1) new_max = 1; |
|
508
|
0 |
14 |
RETVAL = server->max_accept_per_loop; |
|
516
|
3 |
8 |
RETVAL = server->active_conns; |
|
525
|
11 |
7 |
if (items > 1) { |
|
527
|
0 |
11 |
if (new_max < 0) new_max = 0; // 0 means unlimited |
|
531
|
0 |
18 |
RETVAL = server->max_connections; |
|
541
|
0 |
0 |
if (items > 1) { |
|
543
|
0 |
0 |
if (new_max == 0) new_max = MAX_READ_BUF; |
|
546
|
0 |
0 |
RETVAL = server->max_read_buf; |
|
556
|
2 |
0 |
if (items > 1) { |
|
558
|
1 |
1 |
if (new_max == 0) new_max = MAX_BODY_LEN; |
|
561
|
0 |
2 |
RETVAL = server->max_body_len; |
|
571
|
4 |
3 |
if (items > 1) { |
|
573
|
1 |
3 |
if (new_max == 0) new_max = MAX_URI_LEN; |
|
576
|
0 |
7 |
RETVAL = server->max_uri_len; |
|
586
|
7 |
3 |
if (items > 1) { |
|
588
|
1 |
6 |
if (SvNV(val) < 0.0) |
|
592
|
0 |
9 |
RETVAL = server->wbuf_low_water; |
|
600
|
0 |
3 |
RETVAL = server->total_requests; |
|
608
|
1 |
0 |
IV new_max_connection_reqs = 0; |
|
611
|
1 |
0 |
if (items > 1) { |
|
613
|
0 |
1 |
if (new_max_connection_reqs < 0) { |
|
619
|
0 |
1 |
RETVAL = server->max_connection_reqs; |
|
635
|
138 |
46 |
if (server->request_cb_cv) |
|
637
|
0 |
184 |
if (server->shutdown_cb_cv) |
|
639
|
177 |
184 |
for (i = 0; i < server->n_listeners; i++) { |
|
644
|
0 |
177 |
if (lsnr->epoll_fd >= 0) { |
|
649
|
177 |
0 |
if (lsnr->server_name) |
|
651
|
177 |
0 |
if (lsnr->server_port) |
|
654
|
67 |
110 |
if (lsnr->tls_ctx_ref) { |
|
660
|
134 |
50 |
if (server->watchers_initialized && --date_timer_refs <= 0) { |
|
|
99 |
35 |
if (server->watchers_initialized && --date_timer_refs <= 0) { |
|
677
|
86 |
1 |
if (items < 3 || (items - 1) % 2 != 0) |
|
|
0 |
86 |
if (items < 3 || (items - 1) % 2 != 0) |
|
680
|
174 |
84 |
for (i = 1; i < items; i += 2) { |
|
683
|
83 |
91 |
if (strcmp(key, "cert_file") == 0) |
|
685
|
83 |
8 |
else if (strcmp(key, "key_file") == 0) |
|
687
|
6 |
2 |
else if (strcmp(key, "listener") == 0) |
|
689
|
0 |
2 |
else if (strcmp(key, "h2") == 0) |
|
695
|
3 |
81 |
if (!cert_file) croak("set_tls: cert_file is required"); |
|
696
|
3 |
78 |
if (!key_file) croak("set_tls: key_file is required"); |
|
698
|
3 |
75 |
if (server->n_listeners == 0) |
|
702
|
0 |
75 |
if (listener_idx < -1) |
|
705
|
69 |
6 |
if (listener_idx < 0) |
|
707
|
2 |
73 |
if (listener_idx >= server->n_listeners) |
|
714
|
5 |
68 |
if (!new_ctx) |
|
716
|
1 |
67 |
if (lsnr->tls_ctx_ref) |
|
733
|
0 |
49 |
RETVAL = 1; |
|
749
|
0 |
14 |
RETVAL = 0; |
|
761
|
0 |
122 |
I_EV_API("Feersum"); |
|
|
122 |
0 |
I_EV_API("Feersum"); |
|
|
0 |
122 |
I_EV_API("Feersum"); |
|
764
|
0 |
122 |
if (env_fl_max) { |