| 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; |