| line |
true |
false |
branch |
|
33
|
7 |
18 |
uint32_t initial = (items > 3) ? (uint32_t)SvUV(ST(3)) : (uint32_t)max; |
|
34
|
5 |
20 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
36
|
3 |
22 |
if (!h) croak("Data::Sync::Shared::Semaphore->new: %s", errbuf); |
|
49
|
0 |
2 |
uint32_t initial = (items > 3) ? (uint32_t)SvUV(ST(3)) : (uint32_t)max; |
|
51
|
0 |
2 |
if (!h) croak("Data::Sync::Shared::Semaphore->new_memfd: %s", errbuf); |
|
64
|
1 |
1 |
if (!h) croak("Data::Sync::Shared::Semaphore->new_from_fd: %s", errbuf); |
|
73
|
0 |
26 |
if (!SvROK(self)) return; |
|
75
|
1 |
25 |
if (!h) return; |
|
83
|
4 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
86
|
3 |
1 |
if (items > 1) timeout = SvNV(ST(1)); |
|
87
|
2 |
2 |
RETVAL = sync_sem_acquire(h, timeout); |
|
95
|
24 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
24 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
24 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
97
|
22 |
2 |
RETVAL = sync_sem_try_acquire(h); |
|
106
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
109
|
2 |
1 |
if (items > 2) timeout = SvNV(ST(2)); |
|
110
|
2 |
1 |
RETVAL = sync_sem_acquire_n(h, (uint32_t)n, timeout); |
|
119
|
6 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
121
|
4 |
2 |
RETVAL = sync_sem_try_acquire_n(h, (uint32_t)n); |
|
129
|
17 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
17 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
17 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
131
|
10 |
7 |
if (items > 1) { |
|
142
|
4 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
144
|
0 |
4 |
RETVAL = sync_sem_drain(h); |
|
152
|
33 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
33 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
1 |
32 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
154
|
1 |
31 |
RETVAL = sync_sem_value(h); |
|
162
|
4 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
164
|
0 |
4 |
RETVAL = h->hdr->param; |
|
172
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
174
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
182
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
184
|
0 |
2 |
RETVAL = h->backing_fd; |
|
192
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
195
|
0 |
3 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
204
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
206
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
213
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
215
|
0 |
3 |
RETVAL = h->notify_fd; |
|
223
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
225
|
2 |
0 |
RETVAL = sync_notify(h); |
|
233
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
236
|
2 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
244
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
246
|
0 |
0 |
if (sync_msync(h) != 0) croak("msync: %s", strerror(errno)); |
|
253
|
3 |
1 |
if (sv_isobject(self_or_class)) { |
|
255
|
0 |
3 |
if (!h) croak("Attempted to use a destroyed object"); |
|
258
|
1 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
261
|
1 |
2 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
262
|
0 |
2 |
if (unlink(p) != 0) |
|
269
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
298
|
3 |
10 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
300
|
3 |
10 |
if (!h) croak("Data::Sync::Shared::Barrier->new: %s", errbuf); |
|
314
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Barrier->new_memfd: %s", errbuf); |
|
327
|
1 |
0 |
if (!h) croak("Data::Sync::Shared::Barrier->new_from_fd: %s", errbuf); |
|
336
|
0 |
11 |
if (!SvROK(self)) return; |
|
338
|
0 |
11 |
if (!h) return; |
|
346
|
9 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
9 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
9 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
347
|
9 |
0 |
double timeout = -1; |
|
349
|
9 |
0 |
if (items > 1) timeout = SvNV(ST(1)); |
|
350
|
2 |
7 |
RETVAL = sync_barrier_wait(h, timeout); |
|
358
|
5 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
360
|
2 |
3 |
RETVAL = sync_barrier_generation(h); |
|
368
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
370
|
0 |
3 |
RETVAL = sync_barrier_arrived(h); |
|
378
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
380
|
0 |
1 |
RETVAL = h->hdr->param; |
|
388
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
390
|
1 |
1 |
RETVAL = sync_barrier_is_broken(h) ? 1 : 0; |
|
398
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
406
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
408
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
416
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
418
|
0 |
1 |
RETVAL = h->backing_fd; |
|
426
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
429
|
0 |
2 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
438
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
440
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
447
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
449
|
3 |
0 |
RETVAL = h->notify_fd; |
|
457
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
459
|
2 |
0 |
RETVAL = sync_notify(h); |
|
467
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
470
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
478
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
480
|
0 |
0 |
if (sync_msync(h) != 0) croak("msync: %s", strerror(errno)); |
|
487
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
489
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
492
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
495
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
496
|
0 |
1 |
if (unlink(p) != 0) |
|
503
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
530
|
3 |
11 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
532
|
1 |
13 |
if (!h) croak("Data::Sync::Shared::RWLock->new: %s", errbuf); |
|
545
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::RWLock->new_memfd: %s", errbuf); |
|
558
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::RWLock->new_from_fd: %s", errbuf); |
|
567
|
0 |
16 |
if (!SvROK(self)) return; |
|
569
|
1 |
15 |
if (!h) return; |
|
577
|
8 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
1 |
7 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
579
|
0 |
7 |
if (items > 1) { |
|
581
|
0 |
0 |
if (!sync_rwlock_rdlock_timed(h->hdr, timeout)) |
|
592
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
595
|
2 |
1 |
if (RETVAL) |
|
605
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
608
|
2 |
1 |
if (RETVAL) |
|
617
|
12 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
12 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
12 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
626
|
5 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
5 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
628
|
0 |
5 |
if (items > 1) { |
|
630
|
0 |
0 |
if (!sync_rwlock_wrlock_timed(h->hdr, timeout)) |
|
641
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
644
|
1 |
2 |
if (RETVAL) |
|
654
|
4 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
657
|
3 |
1 |
if (RETVAL) |
|
666
|
8 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
675
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
685
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
687
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
695
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
697
|
0 |
2 |
RETVAL = h->backing_fd; |
|
705
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
708
|
0 |
2 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
717
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
719
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
726
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
728
|
3 |
0 |
RETVAL = h->notify_fd; |
|
736
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
738
|
2 |
0 |
RETVAL = sync_notify(h); |
|
746
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
749
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
757
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
759
|
0 |
0 |
if (sync_msync(h) != 0) croak("msync: %s", strerror(errno)); |
|
766
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
768
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
771
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
774
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
775
|
0 |
1 |
if (unlink(p) != 0) |
|
782
|
13 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
13 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
13 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
788
|
5 |
8 |
if (val == 0) state = "unlocked"; |
|
789
|
5 |
3 |
else if (val < SYNC_RWLOCK_WRITER_BIT) state = "read_locked"; |
|
814
|
2 |
11 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
816
|
0 |
13 |
if (!h) croak("Data::Sync::Shared::Condvar->new: %s", errbuf); |
|
829
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Condvar->new_memfd: %s", errbuf); |
|
842
|
0 |
0 |
if (!h) croak("Data::Sync::Shared::Condvar->new_from_fd: %s", errbuf); |
|
851
|
0 |
14 |
if (!SvROK(self)) return; |
|
853
|
0 |
14 |
if (!h) return; |
|
861
|
12 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
12 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
12 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
869
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
871
|
1 |
0 |
RETVAL = sync_condvar_try_lock(h); |
|
879
|
13 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
13 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
13 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
887
|
4 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
890
|
4 |
0 |
if (items > 1) timeout = SvNV(ST(1)); |
|
891
|
1 |
3 |
RETVAL = sync_condvar_wait(h, timeout); |
|
899
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
907
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
915
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
917
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
925
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
927
|
0 |
1 |
RETVAL = h->backing_fd; |
|
935
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
938
|
0 |
2 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
947
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
949
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
956
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
958
|
3 |
0 |
RETVAL = h->notify_fd; |
|
966
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
968
|
2 |
0 |
RETVAL = sync_notify(h); |
|
976
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
979
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
987
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
989
|
0 |
0 |
if (sync_msync(h) != 0) croak("msync: %s", strerror(errno)); |
|
996
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
998
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
1001
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
1004
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
1005
|
0 |
1 |
if (unlink(p) != 0) |
|
1012
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
1039
|
3 |
6 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
1041
|
1 |
8 |
if (!h) croak("Data::Sync::Shared::Once->new: %s", errbuf); |
|
1054
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Once->new_memfd: %s", errbuf); |
|
1067
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Once->new_from_fd: %s", errbuf); |
|
1076
|
0 |
10 |
if (!SvROK(self)) return; |
|
1078
|
0 |
10 |
if (!h) return; |
|
1086
|
6 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1089
|
3 |
3 |
if (items > 1) timeout = SvNV(ST(1)); |
|
1090
|
4 |
2 |
RETVAL = sync_once_enter(h, timeout); |
|
1098
|
4 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
4 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1106
|
8 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1108
|
4 |
4 |
RETVAL = sync_once_is_done(h); |
|
1116
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1124
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1126
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
1134
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1136
|
0 |
2 |
RETVAL = h->backing_fd; |
|
1144
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1147
|
0 |
2 |
if (RETVAL < 0) croak("eventfd: %s", strerror(errno)); |
|
1156
|
1 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
1 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1158
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
|
1 |
0 |
if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd); |
|
1165
|
3 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
3 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1167
|
3 |
0 |
RETVAL = h->notify_fd; |
|
1175
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1177
|
2 |
0 |
RETVAL = sync_notify(h); |
|
1185
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1188
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
1196
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1198
|
0 |
0 |
if (sync_msync(h) != 0) croak("msync: %s", strerror(errno)); |
|
1205
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
1207
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
1210
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
1213
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
1214
|
0 |
1 |
if (unlink(p) != 0) |
|
1221
|
2 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
2 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1227
|
1 |
1 |
if (val == SYNC_ONCE_INIT) state = "init"; |
|
1228
|
1 |
0 |
else if (val == SYNC_ONCE_DONE) state = "done"; |