| 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
|
26 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
0 |
26 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
|
1 |
25 |
EXTRACT_HANDLE("Data::Sync::Shared::Semaphore", self); |
|
82
|
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); |
|
85
|
3 |
1 |
if (items > 1) timeout = SvNV(ST(1)); |
|
86
|
2 |
2 |
RETVAL = sync_sem_acquire(h, timeout); |
|
94
|
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); |
|
96
|
22 |
2 |
RETVAL = sync_sem_try_acquire(h); |
|
105
|
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); |
|
108
|
2 |
1 |
if (items > 2) timeout = SvNV(ST(2)); |
|
109
|
2 |
1 |
RETVAL = sync_sem_acquire_n(h, (uint32_t)n, timeout); |
|
118
|
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); |
|
120
|
4 |
2 |
RETVAL = sync_sem_try_acquire_n(h, (uint32_t)n); |
|
128
|
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); |
|
130
|
10 |
7 |
if (items > 1) { |
|
141
|
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); |
|
143
|
0 |
4 |
RETVAL = sync_sem_drain(h); |
|
151
|
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); |
|
153
|
1 |
31 |
RETVAL = sync_sem_value(h); |
|
161
|
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); |
|
163
|
0 |
4 |
RETVAL = h->hdr->param; |
|
171
|
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); |
|
173
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
181
|
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); |
|
183
|
0 |
2 |
RETVAL = h->backing_fd; |
|
191
|
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); |
|
193
|
0 |
3 |
RETVAL = sync_create_eventfd(h); |
|
202
|
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); |
|
204
|
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); |
|
211
|
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); |
|
213
|
0 |
3 |
RETVAL = h->notify_fd; |
|
221
|
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); |
|
223
|
2 |
0 |
RETVAL = sync_notify(h); |
|
231
|
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); |
|
234
|
2 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
242
|
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); |
|
251
|
3 |
1 |
if (sv_isobject(self_or_class)) { |
|
253
|
0 |
3 |
if (!h) croak("Attempted to use a destroyed object"); |
|
256
|
1 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
259
|
1 |
2 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
260
|
0 |
2 |
if (unlink(p) != 0) |
|
267
|
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); |
|
296
|
3 |
10 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
298
|
3 |
10 |
if (!h) croak("Data::Sync::Shared::Barrier->new: %s", errbuf); |
|
312
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Barrier->new_memfd: %s", errbuf); |
|
325
|
1 |
0 |
if (!h) croak("Data::Sync::Shared::Barrier->new_from_fd: %s", errbuf); |
|
334
|
11 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
11 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
11 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
343
|
8 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
|
0 |
8 |
EXTRACT_HANDLE("Data::Sync::Shared::Barrier", self); |
|
344
|
8 |
0 |
double timeout = -1; |
|
346
|
8 |
0 |
if (items > 1) timeout = SvNV(ST(1)); |
|
347
|
2 |
6 |
RETVAL = sync_barrier_wait(h, timeout); |
|
355
|
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); |
|
357
|
2 |
3 |
RETVAL = sync_barrier_generation(h); |
|
365
|
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); |
|
367
|
0 |
3 |
RETVAL = sync_barrier_arrived(h); |
|
375
|
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); |
|
377
|
0 |
1 |
RETVAL = h->hdr->param; |
|
385
|
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); |
|
393
|
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); |
|
395
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
403
|
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); |
|
405
|
0 |
1 |
RETVAL = h->backing_fd; |
|
413
|
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); |
|
415
|
2 |
0 |
RETVAL = sync_create_eventfd(h); |
|
424
|
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); |
|
426
|
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); |
|
433
|
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); |
|
435
|
3 |
0 |
RETVAL = h->notify_fd; |
|
443
|
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); |
|
445
|
2 |
0 |
RETVAL = sync_notify(h); |
|
453
|
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); |
|
456
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
464
|
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); |
|
473
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
475
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
478
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
481
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
482
|
0 |
1 |
if (unlink(p) != 0) |
|
489
|
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); |
|
516
|
3 |
10 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
518
|
1 |
12 |
if (!h) croak("Data::Sync::Shared::RWLock->new: %s", errbuf); |
|
531
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::RWLock->new_memfd: %s", errbuf); |
|
544
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::RWLock->new_from_fd: %s", errbuf); |
|
553
|
15 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
15 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
1 |
14 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
562
|
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); |
|
564
|
0 |
7 |
if (items > 1) { |
|
566
|
0 |
0 |
if (!sync_rwlock_rdlock_timed(h->hdr, timeout)) |
|
577
|
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); |
|
580
|
2 |
1 |
if (RETVAL) |
|
590
|
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); |
|
593
|
1 |
0 |
if (RETVAL) |
|
602
|
11 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
11 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
11 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
611
|
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); |
|
613
|
0 |
5 |
if (items > 1) { |
|
615
|
0 |
0 |
if (!sync_rwlock_wrlock_timed(h->hdr, timeout)) |
|
626
|
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); |
|
629
|
1 |
2 |
if (RETVAL) |
|
639
|
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); |
|
642
|
1 |
0 |
if (RETVAL) |
|
651
|
6 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
|
0 |
6 |
EXTRACT_HANDLE("Data::Sync::Shared::RWLock", self); |
|
660
|
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); |
|
670
|
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); |
|
672
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
680
|
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); |
|
682
|
0 |
2 |
RETVAL = h->backing_fd; |
|
690
|
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); |
|
692
|
2 |
0 |
RETVAL = sync_create_eventfd(h); |
|
701
|
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); |
|
703
|
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); |
|
710
|
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); |
|
712
|
3 |
0 |
RETVAL = h->notify_fd; |
|
720
|
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); |
|
722
|
2 |
0 |
RETVAL = sync_notify(h); |
|
730
|
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); |
|
733
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
741
|
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); |
|
750
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
752
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
755
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
758
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
759
|
0 |
1 |
if (unlink(p) != 0) |
|
766
|
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); |
|
772
|
5 |
8 |
if (val == 0) state = "unlocked"; |
|
773
|
5 |
3 |
else if (val < SYNC_RWLOCK_WRITER_BIT) state = "read_locked"; |
|
798
|
2 |
11 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
800
|
0 |
13 |
if (!h) croak("Data::Sync::Shared::Condvar->new: %s", errbuf); |
|
813
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Condvar->new_memfd: %s", errbuf); |
|
826
|
0 |
0 |
if (!h) croak("Data::Sync::Shared::Condvar->new_from_fd: %s", errbuf); |
|
835
|
14 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
14 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
|
0 |
14 |
EXTRACT_HANDLE("Data::Sync::Shared::Condvar", self); |
|
844
|
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); |
|
852
|
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); |
|
854
|
1 |
0 |
RETVAL = sync_condvar_try_lock(h); |
|
862
|
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); |
|
870
|
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); |
|
873
|
4 |
0 |
if (items > 1) timeout = SvNV(ST(1)); |
|
874
|
1 |
3 |
RETVAL = sync_condvar_wait(h, timeout); |
|
882
|
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); |
|
890
|
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); |
|
898
|
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); |
|
900
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
908
|
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); |
|
910
|
0 |
1 |
RETVAL = h->backing_fd; |
|
918
|
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); |
|
920
|
2 |
0 |
RETVAL = sync_create_eventfd(h); |
|
929
|
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); |
|
931
|
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); |
|
938
|
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); |
|
940
|
3 |
0 |
RETVAL = h->notify_fd; |
|
948
|
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); |
|
950
|
2 |
0 |
RETVAL = sync_notify(h); |
|
958
|
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); |
|
961
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
969
|
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); |
|
978
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
980
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
983
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
986
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
987
|
0 |
1 |
if (unlink(p) != 0) |
|
994
|
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); |
|
1021
|
3 |
6 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
1023
|
1 |
8 |
if (!h) croak("Data::Sync::Shared::Once->new: %s", errbuf); |
|
1036
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Once->new_memfd: %s", errbuf); |
|
1049
|
0 |
1 |
if (!h) croak("Data::Sync::Shared::Once->new_from_fd: %s", errbuf); |
|
1058
|
10 |
0 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
10 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
|
0 |
10 |
EXTRACT_HANDLE("Data::Sync::Shared::Once", self); |
|
1067
|
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); |
|
1070
|
3 |
3 |
if (items > 1) timeout = SvNV(ST(1)); |
|
1071
|
4 |
2 |
RETVAL = sync_once_enter(h, timeout); |
|
1079
|
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); |
|
1087
|
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); |
|
1089
|
4 |
4 |
RETVAL = sync_once_is_done(h); |
|
1097
|
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); |
|
1105
|
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); |
|
1107
|
1 |
1 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
1115
|
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); |
|
1117
|
0 |
2 |
RETVAL = h->backing_fd; |
|
1125
|
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); |
|
1127
|
2 |
0 |
RETVAL = sync_create_eventfd(h); |
|
1136
|
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); |
|
1138
|
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); |
|
1145
|
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); |
|
1147
|
3 |
0 |
RETVAL = h->notify_fd; |
|
1155
|
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); |
|
1157
|
2 |
0 |
RETVAL = sync_notify(h); |
|
1165
|
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); |
|
1168
|
1 |
1 |
RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef; |
|
1176
|
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); |
|
1185
|
1 |
0 |
if (sv_isobject(self_or_class)) { |
|
1187
|
0 |
1 |
if (!h) croak("Attempted to use a destroyed object"); |
|
1190
|
0 |
0 |
if (items < 2) croak("Usage: ...->unlink($path)"); |
|
1193
|
0 |
1 |
if (!p) croak("cannot unlink anonymous or memfd object"); |
|
1194
|
0 |
1 |
if (unlink(p) != 0) |
|
1201
|
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); |
|
1207
|
1 |
1 |
if (val == SYNC_ONCE_INIT) state = "init"; |
|
1208
|
1 |
0 |
else if (val == SYNC_ONCE_DONE) state = "done"; |