line |
true |
false |
branch |
47
|
0 |
0 |
if (!handle || !arg) return; |
|
0 |
0 |
if (!handle || !arg) return; |
49
|
0 |
0 |
if (!cb || !SvOK(cb)) return; |
|
0 |
0 |
if (!cb || !SvOK(cb)) return; |
|
0 |
0 |
if (!cb || !SvOK(cb)) return; |
|
0 |
0 |
if (!cb || !SvOK(cb)) return; |
58
|
0 |
0 |
if (self && SvROK(self)) { |
|
0 |
0 |
if (self && SvROK(self)) { |
59
|
0 |
0 |
PUSHMARK(SP); |
60
|
0 |
0 |
EXTEND(SP, 1); |
67
|
0 |
0 |
FREETMPS; |
74
|
85 |
0 |
if(cb && SvOK(cb)) { |
|
10 |
75 |
if(cb && SvOK(cb)) { |
|
10 |
0 |
if(cb && SvOK(cb)) { |
|
0 |
10 |
if(cb && SvOK(cb)) { |
80
|
75 |
10 |
if(*var && SvOK(*var)) |
|
0 |
75 |
if(*var && SvOK(*var)) |
|
0 |
0 |
if(*var && SvOK(*var)) |
|
0 |
0 |
if(*var && SvOK(*var)) |
89
|
1 |
9 |
SV *sv = newSVpv(err ? uv_strerror(err) : "", 0); |
106
|
0 |
2 |
if(stash) return stash; |
187
|
58 |
0 |
if(!handle || !handle->data) return; |
|
0 |
58 |
if(!handle || !handle->data) return; |
190
|
17 |
41 |
if(!(cb = self->on_close) || !SvOK(cb)) return; |
|
0 |
17 |
if(!(cb = self->on_close) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_close) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_close) || !SvOK(cb)) return; |
197
|
0 |
17 |
PUSHMARK(SP); |
198
|
0 |
17 |
EXTEND(SP, 1); |
204
|
17 |
0 |
FREETMPS; |
244
|
3 |
0 |
if(!stream || !stream->data) return; |
|
0 |
3 |
if(!stream || !stream->data) return; |
247
|
3 |
0 |
if((cb = self->on_read) && SvOK(cb)) { |
|
0 |
3 |
if((cb = self->on_read) && SvOK(cb)) { |
|
0 |
0 |
if((cb = self->on_read) && SvOK(cb)) { |
|
0 |
0 |
if((cb = self->on_read) && SvOK(cb)) { |
253
|
0 |
3 |
PUSHMARK(SP); |
254
|
0 |
3 |
EXTEND(SP, 3); |
256
|
0 |
3 |
mPUSHs(nread < 0 ? newSV_error(nread) : &PL_sv_undef); |
257
|
3 |
0 |
if(nread >= 0) |
263
|
3 |
0 |
FREETMPS; |
267
|
3 |
0 |
if(buf && buf->base) |
|
3 |
0 |
if(buf && buf->base) |
276
|
2 |
0 |
if(!stream || !stream->data) return; |
|
0 |
2 |
if(!stream || !stream->data) return; |
279
|
2 |
0 |
if(!(cb = self->on_connection) || !SvOK(cb)) return; |
|
0 |
2 |
if(!(cb = self->on_connection) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_connection) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_connection) || !SvOK(cb)) return; |
286
|
0 |
2 |
PUSHMARK(SP); |
287
|
0 |
2 |
EXTEND(SP, 2); |
294
|
2 |
0 |
FREETMPS; |
318
|
1 |
0 |
if(!async || !async->data) return; |
|
0 |
1 |
if(!async || !async->data) return; |
321
|
1 |
0 |
if(!(cb = self->on_async) || !SvOK(cb)) return; |
|
0 |
1 |
if(!(cb = self->on_async) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_async) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_async) || !SvOK(cb)) return; |
328
|
0 |
1 |
PUSHMARK(SP); |
329
|
0 |
1 |
EXTEND(SP, 1); |
335
|
1 |
0 |
FREETMPS; |
361
|
2 |
0 |
if(!check || !check->data) return; |
|
0 |
2 |
if(!check || !check->data) return; |
364
|
2 |
0 |
if(!(cb = self->on_check) || !SvOK(cb)) return; |
|
0 |
2 |
if(!(cb = self->on_check) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_check) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_check) || !SvOK(cb)) return; |
371
|
0 |
2 |
PUSHMARK(SP); |
372
|
0 |
2 |
EXTEND(SP, 1); |
378
|
2 |
0 |
FREETMPS; |
404
|
1 |
0 |
if(!idle || !idle->data) return; |
|
0 |
1 |
if(!idle || !idle->data) return; |
407
|
1 |
0 |
if(!(cb = self->on_idle) || !SvOK(cb)) return; |
|
0 |
1 |
if(!(cb = self->on_idle) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_idle) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_idle) || !SvOK(cb)) return; |
414
|
0 |
1 |
PUSHMARK(SP); |
415
|
0 |
1 |
EXTEND(SP, 1); |
421
|
1 |
0 |
FREETMPS; |
464
|
2 |
0 |
if(!poll || !poll->data) return; |
|
0 |
2 |
if(!poll || !poll->data) return; |
467
|
2 |
0 |
if(!(cb = self->on_poll) || !SvOK(cb)) return; |
|
0 |
2 |
if(!(cb = self->on_poll) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_poll) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_poll) || !SvOK(cb)) return; |
474
|
0 |
2 |
PUSHMARK(SP); |
475
|
0 |
2 |
EXTEND(SP, 3); |
483
|
2 |
0 |
FREETMPS; |
509
|
2 |
0 |
if(!prepare || !prepare->data) return; |
|
0 |
2 |
if(!prepare || !prepare->data) return; |
512
|
2 |
0 |
if(!(cb = self->on_prepare) || !SvOK(cb)) return; |
|
0 |
2 |
if(!(cb = self->on_prepare) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_prepare) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_prepare) || !SvOK(cb)) return; |
519
|
0 |
2 |
PUSHMARK(SP); |
520
|
0 |
2 |
EXTEND(SP, 1); |
526
|
2 |
0 |
FREETMPS; |
547
|
7 |
0 |
if(!process || !process->data) return; |
|
0 |
7 |
if(!process || !process->data) return; |
550
|
7 |
0 |
if(!(cb = self->on_exit) || !SvOK(cb)) return; |
|
0 |
7 |
if(!(cb = self->on_exit) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_exit) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_exit) || !SvOK(cb)) return; |
557
|
0 |
7 |
PUSHMARK(SP); |
558
|
0 |
7 |
EXTEND(SP, 3); |
566
|
7 |
0 |
FREETMPS; |
593
|
1 |
0 |
if(!signal || !signal->data) return; |
|
0 |
1 |
if(!signal || !signal->data) return; |
596
|
1 |
0 |
if(!(cb = self->on_signal) || !SvOK(cb)) return; |
|
0 |
1 |
if(!(cb = self->on_signal) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_signal) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_signal) || !SvOK(cb)) return; |
603
|
0 |
1 |
PUSHMARK(SP); |
604
|
0 |
1 |
EXTEND(SP, 2); |
611
|
1 |
0 |
FREETMPS; |
637
|
51 |
0 |
if(!timer || !timer->data) return; |
|
0 |
51 |
if(!timer || !timer->data) return; |
640
|
51 |
0 |
if(!(cb = self->on_timer) || !SvOK(cb)) return; |
|
0 |
51 |
if(!(cb = self->on_timer) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_timer) || !SvOK(cb)) return; |
|
0 |
0 |
if(!(cb = self->on_timer) || !SvOK(cb)) return; |
647
|
0 |
51 |
PUSHMARK(SP); |
648
|
0 |
51 |
EXTEND(SP, 1); |
654
|
51 |
0 |
FREETMPS; |
714
|
2 |
0 |
if(!udp || !udp->data) return; |
|
0 |
2 |
if(!udp || !udp->data) return; |
717
|
2 |
0 |
if((cb = self->on_recv) && SvOK(cb)) { |
|
0 |
2 |
if((cb = self->on_recv) && SvOK(cb)) { |
|
0 |
0 |
if((cb = self->on_recv) && SvOK(cb)) { |
|
0 |
0 |
if((cb = self->on_recv) && SvOK(cb)) { |
731
|
0 |
2 |
PUSHMARK(SP); |
732
|
0 |
2 |
EXTEND(SP, 5); |
734
|
0 |
2 |
mPUSHs(nread < 0 ? newSV_error(nread) : &PL_sv_undef); |
735
|
2 |
0 |
if(nread >= 0) |
745
|
2 |
0 |
FREETMPS; |
749
|
2 |
0 |
if(buf && buf->base) |
|
2 |
0 |
if(buf && buf->base) |
808
|
7 |
1 |
if(req->cb) { |
813
|
0 |
7 |
PUSHMARK(SP); |
814
|
0 |
7 |
EXTEND(SP, 1); |
820
|
7 |
0 |
FREETMPS; |
878
|
0 |
2 |
PUSHMARK(SP); |
879
|
0 |
2 |
EXTEND(SP, 1); |
881
|
1 |
2 |
for(addrp = res; addrp; addrp = addrp->ai_next) { |
883
|
0 |
1 |
STRLEN canonnamelen = addrp->ai_canonname ? strlen(addrp->ai_canonname) + 1 : 0; |
892
|
0 |
1 |
if(canonnamelen) { |
900
|
0 |
1 |
EXTEND(SP, 1); |
908
|
2 |
0 |
FREETMPS; |
929
|
0 |
1 |
PUSHMARK(SP); |
930
|
0 |
1 |
EXTEND(SP, 3); |
938
|
1 |
0 |
FREETMPS; |
1159
|
1 |
0 |
RETVAL = SvIV(SvRV(self)); |
1171
|
25 |
45 |
if(!uv_is_closing(self->h)) |
1214
|
4 |
4 |
if(items > 1) { |
1218
|
8 |
0 |
RETVAL = self->data ? newSVsv(self->data) : &PL_sv_undef; |
1245
|
0 |
1 |
if (err != 0) { |
1269
|
0 |
1 |
CHECKCALL(uv_async_send(self->h)); |
1282
|
0 |
3 |
if (err != 0) { |
1306
|
0 |
2 |
CHECKCALL(uv_check_start(self->h, on_check_cb)); |
1311
|
0 |
4 |
CHECKCALL(uv_check_stop(self->h)); |
1324
|
0 |
2 |
if (err != 0) { |
1348
|
0 |
1 |
CHECKCALL(uv_idle_start(self->h, on_idle_cb)); |
1353
|
0 |
2 |
CHECKCALL(uv_idle_stop(self->h)); |
1366
|
0 |
6 |
if (err != 0) { |
1383
|
0 |
3 |
CHECKCALL(uv_pipe_open(self->h, fd)); |
1388
|
0 |
1 |
CHECKCALL(uv_pipe_bind(self->h, name)); |
1421
|
1 |
1 |
uv_pipe_getpeername(self->h, SvPVX(RETVAL), &len) : |
1423
|
0 |
2 |
if(err != 0) { |
1425
|
0 |
0 |
croak("Couldn't %s from pipe handle (%d): %s", (ix == 0) ? "getpeername" : "getsockname", |
1437
|
0 |
0 |
CHECKCALL(uv_pipe_chmod(self->h, flags)); |
1449
|
1 |
3 |
if(is_socket) |
1453
|
1 |
3 |
if (err != 0) { |
1477
|
0 |
2 |
CHECKCALL(uv_poll_start(self->h, events, on_poll_cb)); |
1482
|
0 |
4 |
CHECKCALL(uv_poll_stop(self->h)); |
1495
|
0 |
3 |
if (err != 0) { |
1519
|
0 |
2 |
CHECKCALL(uv_prepare_start(self->h, on_prepare_cb)); |
1524
|
0 |
4 |
CHECKCALL(uv_prepare_stop(self->h)); |
1568
|
7 |
0 |
if(!SvROK(args) || SvTYPE(SvRV(args)) != SVt_PVAV) |
|
0 |
7 |
if(!SvROK(args) || SvTYPE(SvRV(args)) != SVt_PVAV) |
1573
|
0 |
7 |
Newx(self->options.args, AvFILL(argsav) + 3, char *); |
|
0 |
7 |
Newx(self->options.args, AvFILL(argsav) + 3, char *); |
|
0 |
7 |
Newx(self->options.args, AvFILL(argsav) + 3, char *); |
1575
|
0 |
21 |
for(i = 0; i <= AvFILL(argsav); i++) |
|
14 |
7 |
for(i = 0; i <= AvFILL(argsav); i++) |
1576
|
14 |
0 |
self->options.args[i+1] = savepv(SvPVbyte_nolen(AvARRAY(argsav)[i])); |
1587
|
1 |
0 |
if(!SvROK(env) || SvTYPE(SvRV(env)) != SVt_PVHV) |
|
0 |
1 |
if(!SvROK(env) || SvTYPE(SvRV(env)) != SVt_PVHV) |
1593
|
0 |
1 |
Newx(self->options.env, nkeys + 1, char *); |
1597
|
1 |
1 |
while((iter = hv_iternext(envhv))) { |
1598
|
1 |
0 |
sv_setpvf(tmp, "%s=%s", |
1614
|
1 |
0 |
if(self->options.stdio_count < (fd+1)) { |
1616
|
1 |
0 |
if(n < (fd+1)) n = (fd+1); |
1617
|
1 |
0 |
if(n < 3) n = 3; |
1619
|
0 |
1 |
Renew(self->options.stdio, n, uv_stdio_container_t); |
1621
|
3 |
1 |
for(i = self->options.stdio_count; i < n; i++) |
1629
|
1 |
0 |
if(SvROK(arg) && SvTYPE(SvRV(arg)) == SVt_PVHV) { |
|
0 |
1 |
if(SvROK(arg) && SvTYPE(SvRV(arg)) == SVt_PVHV) { |
1633
|
0 |
1 |
if(!SvROK(fdarg)) { |
1635
|
0 |
0 |
cont->data.fd = SvIV(arg); |
1638
|
1 |
0 |
else if(SvTYPE(SvRV(fdarg)) == SVt_PVGV) { |
1640
|
1 |
0 |
cont->data.fd = PerlIO_fileno(IoOFP(GvIO(SvRV(fdarg)))); |
|
0 |
1 |
cont->data.fd = PerlIO_fileno(IoOFP(GvIO(SvRV(fdarg)))); |
|
0 |
0 |
cont->data.fd = PerlIO_fileno(IoOFP(GvIO(SvRV(fdarg)))); |
|
1 |
0 |
cont->data.fd = PerlIO_fileno(IoOFP(GvIO(SvRV(fdarg)))); |
1667
|
0 |
7 |
if(!self->options.file) |
1669
|
0 |
7 |
if(!self->options.args) |
1672
|
7 |
0 |
if(!self->options.args[0]) |
1676
|
0 |
7 |
if (err != 0) { |
1683
|
0 |
1 |
CHECKCALL(uv_process_kill(self->h, signum)); |
1703
|
0 |
2 |
if (err != 0) { |
1728
|
0 |
1 |
CHECKCALL(uv_signal_start(self->h, on_signal_cb, self->signum)); |
1733
|
0 |
2 |
CHECKCALL(uv_signal_stop(self->h)); |
1754
|
0 |
2 |
CHECKCALL(uv_listen(self->h, backlog, on_connection_cb)); |
1759
|
0 |
2 |
CHECKCALL(uv_accept(self->h, client->h)); |
1772
|
0 |
2 |
if(err != 0) { |
1788
|
0 |
3 |
CHECKCALL(uv_read_start(self->h, on_alloc_cb, on_read_cb)); |
1793
|
0 |
0 |
CHECKCALL(uv_read_stop(self->h)); |
1812
|
0 |
2 |
if(err != 0) { |
1837
|
0 |
33 |
if (err != 0) { |
1861
|
0 |
35 |
CHECKCALL(uv_timer_start(self->h, on_timer_cb, timeout, repeat)); |
1878
|
1 |
10 |
CHECKCALL(uv_timer_again(self->h)); |
1883
|
0 |
33 |
CHECKCALL(uv_timer_stop(self->h)); |
1896
|
0 |
5 |
if (err != 0) { |
1913
|
0 |
2 |
CHECKCALL(uv_tcp_open(self->h, fd)); |
1918
|
0 |
0 |
CHECKCALL(uv_tcp_nodelay(self->h, enable)); |
1923
|
0 |
0 |
if(enable && items < 3) |
|
0 |
0 |
if(enable && items < 3) |
1926
|
0 |
0 |
CHECKCALL(uv_tcp_keepalive(self->h, enable, delay)); |
1931
|
0 |
0 |
CHECKCALL(uv_tcp_simultaneous_accepts(self->h, enable)); |
1936
|
1 |
0 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
|
0 |
1 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
1939
|
0 |
1 |
CHECKCALL(uv_tcp_bind(self->h, (struct sockaddr *)SvPVX(addr), flags)); |
1949
|
1 |
0 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
|
0 |
1 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
1975
|
1 |
1 |
uv_tcp_getpeername(self->h, (struct sockaddr *)SvPVX(RETVAL), &len) : |
1977
|
0 |
2 |
if(err != 0) { |
1979
|
0 |
0 |
croak("Couldn't %s from tcp handle (%d): %s", (ix == 0) ? "getpeername" : "getsockname", |
1991
|
0 |
0 |
CHECKCALL(uv_tcp_close_reset(self->h, on_close_cb)); |
2004
|
0 |
0 |
if (err != 0) { |
2021
|
0 |
0 |
CHECKCALL(uv_tty_set_mode(self->h, mode)); |
2028
|
0 |
0 |
CHECKCALL(uv_tty_get_winsize(self->h, &width, &height)); |
2029
|
0 |
0 |
EXTEND(SP, 2); |
2045
|
0 |
5 |
if (err != 0) { |
2069
|
0 |
2 |
CHECKCALL(uv_udp_open(self->h, fd)); |
2074
|
1 |
0 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
|
0 |
1 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
2077
|
0 |
1 |
CHECKCALL(uv_udp_bind(self->h, (struct sockaddr *)SvPVX(addr), flags)); |
2082
|
1 |
0 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
|
0 |
1 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
2085
|
0 |
1 |
CHECKCALL(uv_udp_connect(self->h, (struct sockaddr *)SvPVX(addr))); |
2100
|
1 |
1 |
uv_udp_getpeername(self->h, (struct sockaddr *)SvPVX(RETVAL), &len) : |
2102
|
0 |
2 |
if(err != 0) { |
2104
|
0 |
0 |
croak("Couldn't %s from udp handle (%d): %s", (ix == 0) ? "getpeername" : "getsockname", |
2116
|
0 |
2 |
CHECKCALL(uv_udp_recv_start(self->h, on_alloc_cb, on_recv_cb)); |
2121
|
0 |
0 |
CHECKCALL(uv_udp_recv_stop(self->h)); |
2133
|
0 |
2 |
if(items > 4) |
2135
|
0 |
2 |
else if(items == 4) { |
2139
|
1 |
1 |
else if(SvTYPE(SvRV(ST(2))) == SVt_PVCV) { |
2148
|
1 |
1 |
if(addr) { |
2149
|
1 |
0 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
|
0 |
1 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
2165
|
0 |
2 |
if(err != 0) { |
2171
|
1 |
1 |
if(cb) |
2185
|
0 |
0 |
CHECKCALL(uv_udp_set_broadcast(self->h, on)); |
2190
|
0 |
0 |
CHECKCALL(uv_udp_set_ttl(self->h, ttl)); |
2195
|
0 |
0 |
CHECKCALL(uv_udp_set_multicast_loop(self->h, on)); |
2200
|
0 |
0 |
CHECKCALL(uv_udp_set_multicast_ttl(self->h, ttl)); |
2205
|
0 |
0 |
CHECKCALL(uv_udp_set_multicast_interface(self->h, SvPVbyte_nolen(ifaddr))); |
|
0 |
0 |
CHECKCALL(uv_udp_set_multicast_interface(self->h, SvPVbyte_nolen(ifaddr))); |
2210
|
0 |
0 |
CHECKCALL(uv_udp_set_membership( |
|
0 |
0 |
CHECKCALL(uv_udp_set_membership( |
|
0 |
0 |
CHECKCALL(uv_udp_set_membership( |
2216
|
0 |
0 |
CHECKCALL(uv_udp_set_source_membership( |
|
0 |
0 |
CHECKCALL(uv_udp_set_source_membership( |
|
0 |
0 |
CHECKCALL(uv_udp_set_source_membership( |
|
0 |
0 |
CHECKCALL(uv_udp_set_source_membership( |
2227
|
0 |
1 |
if(items > 3) |
2229
|
0 |
1 |
else if(items == 3) { |
2236
|
0 |
1 |
if(addr) { |
2237
|
0 |
0 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
|
0 |
0 |
if(!SvPOK(addr) || SvCUR(addr) < sizeof(struct sockaddr)) |
2247
|
0 |
1 |
if(err < 0) { |
2272
|
4 |
26 |
Newxc(self, sizeof(struct UV__Loop) + (!want_default * sizeof(uv_loop_t)), |
2276
|
26 |
4 |
if(want_default) { |
2282
|
0 |
4 |
if(err != 0) { |
2296
|
35 |
0 |
if(cb && SvOK(cb)) { |
|
30 |
5 |
if(cb && SvOK(cb)) { |
|
30 |
0 |
if(cb && SvOK(cb)) { |
|
0 |
30 |
if(cb && SvOK(cb)) { |
2336
|
4 |
34 |
if(self->loop != uv_default_loop()) |
2342
|
0 |
1 |
CHECKCALL(uv_loop_configure(self->loop, option, value)); |
2385
|
2 |
0 |
hints.ai_flags = SvOK(flags) ? SvIV(flags) : (AI_V4MAPPED|AI_ADDRCONFIG); |
|
2 |
0 |
hints.ai_flags = SvOK(flags) ? SvIV(flags) : (AI_V4MAPPED|AI_ADDRCONFIG); |
|
0 |
2 |
hints.ai_flags = SvOK(flags) ? SvIV(flags) : (AI_V4MAPPED|AI_ADDRCONFIG); |
|
0 |
0 |
hints.ai_flags = SvOK(flags) ? SvIV(flags) : (AI_V4MAPPED|AI_ADDRCONFIG); |
2386
|
2 |
0 |
hints.ai_family = SvOK(family) ? SvIV(family) : AF_UNSPEC; |
|
2 |
0 |
hints.ai_family = SvOK(family) ? SvIV(family) : AF_UNSPEC; |
|
0 |
2 |
hints.ai_family = SvOK(family) ? SvIV(family) : AF_UNSPEC; |
|
0 |
0 |
hints.ai_family = SvOK(family) ? SvIV(family) : AF_UNSPEC; |
2387
|
1 |
1 |
hints.ai_socktype = SvOK(socktype) ? SvIV(socktype) : 0; |
|
1 |
0 |
hints.ai_socktype = SvOK(socktype) ? SvIV(socktype) : 0; |
|
0 |
1 |
hints.ai_socktype = SvOK(socktype) ? SvIV(socktype) : 0; |
|
1 |
0 |
hints.ai_socktype = SvOK(socktype) ? SvIV(socktype) : 0; |
2388
|
2 |
0 |
hints.ai_protocol = SvOK(protocol) ? SvIV(protocol) : 0; |
|
2 |
0 |
hints.ai_protocol = SvOK(protocol) ? SvIV(protocol) : 0; |
|
0 |
2 |
hints.ai_protocol = SvOK(protocol) ? SvIV(protocol) : 0; |
|
0 |
0 |
hints.ai_protocol = SvOK(protocol) ? SvIV(protocol) : 0; |
2392
|
0 |
2 |
if (err != 0) { |
2414
|
1 |
0 |
err = uv_getnameinfo(self->loop, req->r, on_getnameinfo_cb, |
2416
|
0 |
1 |
if (err != 0) { |
2467
|
0 |
1 |
if((err != 0) && (err != UV_EBUSY)) |
|
0 |
0 |
if((err != 0) && (err != UV_EBUSY)) |
2500
|
0 |
0 |
case 1: RETVAL = self->canonname ? newSVpv(self->canonname, 0) : &PL_sv_undef; break; |