… | |
… | |
27 | |
27 | |
28 | #ifndef SvREFCNT_dec_NN |
28 | #ifndef SvREFCNT_dec_NN |
29 | #define SvREFCNT_dec_NN(sv) SvREFCNT_dec (sv) |
29 | #define SvREFCNT_dec_NN(sv) SvREFCNT_dec (sv) |
30 | #endif |
30 | #endif |
31 | |
31 | |
|
|
32 | #ifndef SvREFCNT_dec_simple_void_NN |
|
|
33 | #define SvREFCNT_dec_simple_void_NN(sv) SvREFCNT_dec (sv) |
|
|
34 | #endif |
|
|
35 | |
32 | #ifndef SvREFCNT_inc_NN |
36 | #ifndef SvREFCNT_inc_NN |
33 | #define SvREFCNT_inc_NN(sv) SvREFCNT_inc (sv) |
37 | #define SvREFCNT_inc_NN(sv) SvREFCNT_inc (sv) |
34 | #endif |
38 | #endif |
35 | |
39 | |
36 | #define RECURSION_CHECK 0 |
40 | #define RECURSION_CHECK 0 |
… | |
… | |
351 | X_LOCK (acquire_m); |
355 | X_LOCK (acquire_m); |
352 | while (acquirers.cur) |
356 | while (acquirers.cur) |
353 | { |
357 | { |
354 | struct tctx *ctx = tctxs_get (&acquirers); |
358 | struct tctx *ctx = tctxs_get (&acquirers); |
355 | CORO_READY ((SV *)ctx->coro); |
359 | CORO_READY ((SV *)ctx->coro); |
356 | SvREFCNT_dec_NN ((SV *)ctx->coro); |
360 | SvREFCNT_dec_simple_void_NN ((SV *)ctx->coro); |
357 | ctx->coro = 0; |
361 | ctx->coro = 0; |
358 | } |
362 | } |
359 | X_UNLOCK (acquire_m); |
363 | X_UNLOCK (acquire_m); |
360 | |
364 | |
361 | void |
365 | void |