| line |
true |
false |
branch |
|
35
|
2 |
45 |
arena_cap = (items > 5) ? (uint64_t)SvUV(ST(5)) : 0; |
|
36
|
47 |
0 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
39
|
0 |
47 |
if (!h) croak("Data::ReqRep::Shared->new: %s", errbuf); |
|
56
|
0 |
3 |
arena_cap = (items > 5) ? (uint64_t)SvUV(ST(5)) : 0; |
|
59
|
0 |
3 |
if (!h) croak("Data::ReqRep::Shared->new_memfd: %s", errbuf); |
|
73
|
0 |
1 |
if (!h) croak("Data::ReqRep::Shared->new_from_fd: %s", errbuf); |
|
83
|
3 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
85
|
0 |
3 |
RETVAL = h->backing_fd; |
|
93
|
51 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
51 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
51 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
102
|
91 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
91 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
91 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
109
|
0 |
91 |
if (r == -1) croak("Data::ReqRep::Shared: out of memory"); |
|
110
|
81 |
10 |
if (r == 1) { |
|
112
|
4 |
77 |
if (utf8) SvUTF8_on(sv); |
|
113
|
0 |
81 |
mXPUSHs(sv); |
|
114
|
0 |
81 |
mXPUSHu((UV)id); |
|
121
|
2152 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2152 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2152 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
128
|
2152 |
0 |
if (items > 1) timeout = SvNV(ST(1)); |
|
130
|
0 |
2152 |
if (r == -1) croak("Data::ReqRep::Shared: out of memory"); |
|
131
|
2148 |
4 |
if (r == 1) { |
|
133
|
0 |
2148 |
if (utf8) SvUTF8_on(sv); |
|
134
|
0 |
2148 |
mXPUSHs(sv); |
|
135
|
0 |
2148 |
mXPUSHu((UV)id); |
|
143
|
6 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
151
|
14 |
2 |
for (UV i = 0; i < count; i++) { |
|
153
|
4 |
10 |
if (last_r <= 0) break; |
|
155
|
0 |
10 |
if (utf8) SvUTF8_on(sv); |
|
156
|
0 |
10 |
mXPUSHs(sv); |
|
157
|
0 |
10 |
mXPUSHu((UV)id); |
|
161
|
0 |
6 |
if (last_r == -1) croak("Data::ReqRep::Shared: out of memory"); |
|
168
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
175
|
2 |
0 |
if (items > 2) timeout = SvNV(ST(2)); |
|
178
|
0 |
2 |
if (r == -1) croak("Data::ReqRep::Shared: out of memory"); |
|
179
|
1 |
1 |
if (r != 1) XSRETURN(0); |
|
182
|
0 |
1 |
if (utf8) SvUTF8_on(sv); |
|
183
|
0 |
1 |
mXPUSHs(sv); |
|
184
|
0 |
1 |
mXPUSHu((UV)id); |
|
188
|
4 |
0 |
for (UV i = 1; i < count; i++) { |
|
190
|
1 |
3 |
if (r2 <= 0) break; |
|
192
|
0 |
3 |
if (utf8) SvUTF8_on(sv); |
|
193
|
0 |
3 |
mXPUSHs(sv); |
|
194
|
0 |
3 |
mXPUSHu((UV)id); |
|
203
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
210
|
1 |
1 |
max_count = (items > 1) ? (uint32_t)SvUV(ST(1)) : UINT32_MAX; |
|
212
|
10 |
1 |
while (max_count-- > 0) { |
|
214
|
1 |
9 |
if (r <= 0) break; |
|
216
|
0 |
9 |
if (utf8) SvUTF8_on(sv); |
|
217
|
0 |
9 |
mXPUSHs(sv); |
|
218
|
0 |
9 |
mXPUSHu((UV)id); |
|
229
|
2249 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2249 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2249 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
235
|
0 |
2249 |
if (r == -1) croak("Data::ReqRep::Shared: invalid slot index"); |
|
236
|
1 |
2248 |
if (r == -3) croak("Data::ReqRep::Shared: response too long (max %u bytes)", h->resp_data_max); |
|
237
|
2047 |
201 |
RETVAL = (r == 1); |
|
245
|
23 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
23 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
23 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
255
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
257
|
0 |
4 |
RETVAL = h->req_cap; |
|
265
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
267
|
0 |
4 |
RETVAL = h->resp_slots; |
|
275
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
277
|
0 |
4 |
RETVAL = h->resp_data_max; |
|
285
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
287
|
4 |
0 |
RETVAL = (reqrep_size(h) == 0); |
|
295
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
304
|
29 |
0 |
if (sv_isobject(self_or_class)) { |
|
306
|
0 |
29 |
if (!h) croak("Attempted to use a destroyed object"); |
|
309
|
0 |
0 |
if (items < 2) croak("Usage: Data::ReqRep::Shared->unlink($path)"); |
|
312
|
0 |
29 |
if (!path) croak("cannot unlink anonymous or memfd channel"); |
|
313
|
0 |
29 |
if (unlink(path) != 0) |
|
320
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
322
|
0 |
0 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
330
|
3 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
357
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
359
|
0 |
0 |
if (reqrep_sync(h) != 0) |
|
366
|
5 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
369
|
0 |
5 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
378
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
386
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
388
|
0 |
2 |
RETVAL = h->notify_fd; |
|
396
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
404
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
412
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
415
|
0 |
4 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
424
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
432
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
434
|
0 |
2 |
RETVAL = h->reply_fd; |
|
442
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
450
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared", self); |
|
466
|
0 |
42 |
if (!h) croak("Data::ReqRep::Shared::Client->new: %s", errbuf); |
|
480
|
0 |
1 |
if (!h) croak("Data::ReqRep::Shared::Client->new_from_fd: %s", errbuf); |
|
490
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
492
|
0 |
0 |
RETVAL = h->backing_fd; |
|
500
|
43 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
43 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
43 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
510
|
96 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
96 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
96 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
517
|
0 |
96 |
if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)"); |
|
518
|
93 |
3 |
RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef; |
|
527
|
216 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
216 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
216 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
532
|
216 |
0 |
if (items > 2) timeout = SvNV(ST(2)); |
|
536
|
0 |
216 |
if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)"); |
|
537
|
215 |
1 |
RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef; |
|
546
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
553
|
0 |
1 |
if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)"); |
|
554
|
1 |
0 |
if (r == 1) { |
|
568
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
573
|
1 |
0 |
if (items > 2) timeout = SvNV(ST(2)); |
|
577
|
0 |
1 |
if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)"); |
|
578
|
1 |
0 |
if (r == 1) { |
|
592
|
90 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
90 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
90 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
598
|
0 |
90 |
if (r == -1) croak("Data::ReqRep::Shared::Client: invalid slot index"); |
|
599
|
0 |
90 |
if (r == -2) croak("Data::ReqRep::Shared::Client: out of memory"); |
|
600
|
89 |
1 |
if (r == 1) { |
|
602
|
4 |
85 |
if (utf8) SvUTF8_on(RETVAL); |
|
614
|
6 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
620
|
6 |
0 |
if (items > 2) timeout = SvNV(ST(2)); |
|
622
|
0 |
6 |
if (r == -1) croak("Data::ReqRep::Shared::Client: invalid slot index"); |
|
623
|
0 |
6 |
if (r == -2) croak("Data::ReqRep::Shared::Client: out of memory"); |
|
624
|
3 |
3 |
if (r == 1) { |
|
626
|
0 |
3 |
if (utf8) SvUTF8_on(RETVAL); |
|
638
|
747 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
747 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
747 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
647
|
0 |
747 |
if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)"); |
|
648
|
747 |
0 |
if (r == 1) { |
|
650
|
0 |
747 |
if (out_utf8) SvUTF8_on(RETVAL); |
|
663
|
1801 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1801 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1801 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
672
|
0 |
1801 |
if (r == -2) croak("Data::ReqRep::Shared::Client: request too long (max 2GB)"); |
|
673
|
1800 |
1 |
if (r == 1) { |
|
675
|
0 |
1800 |
if (out_utf8) SvUTF8_on(RETVAL); |
|
687
|
213 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
213 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
213 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
695
|
7 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
7 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
7 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
697
|
0 |
7 |
RETVAL = (UV)reqrep_pending(h); |
|
705
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
707
|
0 |
0 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
715
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
742
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
752
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
754
|
0 |
4 |
RETVAL = h->req_cap; |
|
762
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
764
|
4 |
0 |
RETVAL = (reqrep_size(h) == 0); |
|
772
|
4 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
774
|
0 |
4 |
RETVAL = h->resp_slots; |
|
782
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
784
|
0 |
0 |
RETVAL = h->resp_data_max; |
|
792
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
795
|
0 |
2 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
804
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
812
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
814
|
0 |
2 |
RETVAL = h->reply_fd; |
|
822
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
830
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
839
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
847
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Client", self); |
|
849
|
0 |
0 |
RETVAL = h->notify_fd; |
|
865
|
7 |
0 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
867
|
0 |
7 |
if (!h) croak("Data::ReqRep::Shared::Int->new: %s", errbuf); |
|
883
|
0 |
1 |
if (!h) croak("Data::ReqRep::Shared::Int->new_memfd: %s", errbuf); |
|
897
|
0 |
1 |
if (!h) croak("Data::ReqRep::Shared::Int->new_from_fd: %s", errbuf); |
|
907
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
909
|
0 |
1 |
RETVAL = h->backing_fd; |
|
917
|
9 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
9 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
9 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
926
|
31 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
31 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
31 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
930
|
29 |
2 |
if (reqrep_int_try_recv(h, &value, &id)) { |
|
931
|
0 |
29 |
mXPUSHi((IV)value); |
|
932
|
0 |
29 |
mXPUSHu((UV)id); |
|
939
|
7 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
7 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
7 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
944
|
7 |
0 |
if (items > 1) timeout = SvNV(ST(1)); |
|
945
|
7 |
0 |
if (reqrep_int_recv_wait(h, &value, &id, timeout)) { |
|
946
|
0 |
7 |
mXPUSHi((IV)value); |
|
947
|
0 |
7 |
mXPUSHu((UV)id); |
|
956
|
35 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
35 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
35 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
959
|
0 |
35 |
if (r == -1) croak("Data::ReqRep::Shared::Int: invalid slot index"); |
|
960
|
32 |
3 |
RETVAL = (r == 1); |
|
968
|
3 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
978
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
980
|
0 |
2 |
RETVAL = h->req_cap; |
|
988
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
990
|
0 |
2 |
RETVAL = h->resp_slots; |
|
998
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1000
|
0 |
0 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
1008
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1010
|
1 |
0 |
RETVAL = (reqrep_int_size(h) == 0); |
|
1018
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1020
|
0 |
0 |
RETVAL = h->resp_data_max; |
|
1028
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1052
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1060
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1062
|
0 |
0 |
if (reqrep_sync(h) != 0) croak("msync: %s", strerror(errno)); |
|
1068
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1071
|
0 |
1 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
1080
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1088
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1090
|
0 |
1 |
RETVAL = h->notify_fd; |
|
1098
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1106
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1114
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1117
|
0 |
1 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
1126
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1134
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1136
|
0 |
0 |
RETVAL = h->reply_fd; |
|
1144
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1152
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int", self); |
|
1161
|
5 |
0 |
if (sv_isobject(self_or_class)) { |
|
1163
|
0 |
5 |
if (!h) croak("Attempted to use a destroyed object"); |
|
1166
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
1169
|
0 |
5 |
if (!path) croak("cannot unlink anonymous or memfd channel"); |
|
1170
|
0 |
5 |
if (unlink(path) != 0) croak("unlink(%s): %s", path, strerror(errno)); |
|
1184
|
0 |
7 |
if (!h) croak("Data::ReqRep::Shared::Int::Client->new: %s", errbuf); |
|
1198
|
0 |
1 |
if (!h) croak("Data::ReqRep::Shared::Int::Client->new_from_fd: %s", errbuf); |
|
1208
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1210
|
0 |
0 |
RETVAL = h->backing_fd; |
|
1218
|
8 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1228
|
32 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
32 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
32 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1232
|
30 |
2 |
RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef; |
|
1241
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1245
|
2 |
0 |
if (items > 2) timeout = SvNV(ST(2)); |
|
1247
|
2 |
0 |
RETVAL = (r == 1) ? newSVuv((UV)id) : &PL_sv_undef; |
|
1256
|
25 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
25 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
25 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1260
|
0 |
25 |
if (r == -1) croak("invalid slot index"); |
|
1261
|
25 |
0 |
RETVAL = (r == 1) ? newSViv((IV)value) : &PL_sv_undef; |
|
1270
|
2 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1274
|
2 |
0 |
if (items > 2) timeout = SvNV(ST(2)); |
|
1276
|
0 |
2 |
if (r == -1) croak("invalid slot index"); |
|
1277
|
2 |
0 |
RETVAL = (r == 1) ? newSViv((IV)value) : &PL_sv_undef; |
|
1286
|
5 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1290
|
5 |
0 |
RETVAL = (r == 1) ? newSViv((IV)out) : &PL_sv_undef; |
|
1300
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1304
|
0 |
1 |
RETVAL = (r == 1) ? newSViv((IV)out) : &PL_sv_undef; |
|
1313
|
3 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1321
|
3 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1323
|
0 |
3 |
RETVAL = (UV)reqrep_pending(h); |
|
1331
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1341
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1343
|
0 |
1 |
RETVAL = h->req_cap; |
|
1351
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1353
|
1 |
0 |
RETVAL = (reqrep_int_size(h) == 0); |
|
1361
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1363
|
0 |
0 |
RETVAL = h->resp_slots; |
|
1371
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1373
|
0 |
0 |
RETVAL = h->resp_data_max; |
|
1381
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1399
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1401
|
0 |
0 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
1409
|
1 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1412
|
0 |
1 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
1421
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1429
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1431
|
0 |
0 |
RETVAL = h->reply_fd; |
|
1439
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1447
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1456
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1464
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::ReqRep::Shared::Int::Client", self); |
|
1466
|
0 |
0 |
RETVAL = h->notify_fd; |