… | |
… | |
86 | return 0; |
86 | return 0; |
87 | } |
87 | } |
88 | } |
88 | } |
89 | |
89 | |
90 | static void |
90 | static void |
91 | slf_init_timed_io (aTHX_ struct CoroSLF *frame, SV **arg, int items) |
91 | slf_init_timed_io (pTHX_ struct CoroSLF *frame, SV **arg, int items) |
92 | { |
92 | { |
93 | SV *data; |
93 | SV *data; |
94 | |
94 | |
95 | if (items < 2 || items > 3) |
95 | if (items < 2 || items > 3) |
96 | croak ("Coro::EV::timed_io_once requires exactly two or three parameters, not %d.\n", items); |
96 | croak ("Coro::EV::timed_io_once requires exactly two or three parameters, not %d.\n", items); |
… | |
… | |
109 | data |
109 | data |
110 | ); |
110 | ); |
111 | } |
111 | } |
112 | |
112 | |
113 | static void |
113 | static void |
114 | slf_init_timer (aTHX_ struct CoroSLF *frame, SV **arg, int items) |
114 | slf_init_timer (pTHX_ struct CoroSLF *frame, SV **arg, int items) |
115 | { |
115 | { |
116 | SV *data; |
116 | SV *data; |
117 | NV after; |
117 | NV after; |
118 | |
118 | |
119 | if (items != 1) |
119 | if (items != 1) |
… | |
… | |
203 | return 0; |
203 | return 0; |
204 | } |
204 | } |
205 | } |
205 | } |
206 | |
206 | |
207 | static void |
207 | static void |
208 | slf_init_rw (aTHX_ struct CoroSLF *frame, SV *arg, int wr) |
208 | slf_init_rw (pTHX_ struct CoroSLF *frame, SV *arg, int wr) |
209 | { |
209 | { |
210 | AV *handle = (AV *)SvRV (arg); |
210 | AV *handle = (AV *)SvRV (arg); |
211 | SV *data_sv = AvARRAY (handle)[5]; |
211 | SV *data_sv = AvARRAY (handle)[5]; |
212 | coro_handle *data; |
212 | coro_handle *data; |
213 | coro_dir *dir; |
213 | coro_dir *dir; |
… | |
… | |
255 | frame->prepare = GCoroAPI->prepare_schedule; |
255 | frame->prepare = GCoroAPI->prepare_schedule; |
256 | frame->check = slf_check_rw; |
256 | frame->check = slf_check_rw; |
257 | } |
257 | } |
258 | |
258 | |
259 | static void |
259 | static void |
260 | slf_init_readable (aTHX_ struct CoroSLF *frame, SV **arg, int items) |
260 | slf_init_readable (pTHX_ struct CoroSLF *frame, SV **arg, int items) |
261 | { |
261 | { |
262 | slf_init_rw (aTHX_ frame, arg [0], 0); |
262 | slf_init_rw (aTHX_ frame, arg [0], 0); |
263 | } |
263 | } |
264 | |
264 | |
265 | static void |
265 | static void |
266 | slf_init_writable (aTHX_ struct CoroSLF *frame, SV **arg, int items) |
266 | slf_init_writable (pTHX_ struct CoroSLF *frame, SV **arg, int items) |
267 | { |
267 | { |
268 | slf_init_rw (aTHX_ frame, arg [0], 1); |
268 | slf_init_rw (aTHX_ frame, arg [0], 1); |
269 | } |
269 | } |
270 | |
270 | |
271 | /*****************************************************************************/ |
271 | /*****************************************************************************/ |