… | |
… | |
295 | set_thread_enable (pTHX_ void *arg) |
295 | set_thread_enable (pTHX_ void *arg) |
296 | { |
296 | { |
297 | thread_enable = PTR2IV (arg); |
297 | thread_enable = PTR2IV (arg); |
298 | } |
298 | } |
299 | |
299 | |
|
|
300 | static void |
|
|
301 | atfork_child (void) |
|
|
302 | { |
|
|
303 | s_epipe_renew (&ep); |
|
|
304 | } |
|
|
305 | |
300 | MODULE = Coro::Multicore PACKAGE = Coro::Multicore |
306 | MODULE = Coro::Multicore PACKAGE = Coro::Multicore |
301 | |
307 | |
302 | PROTOTYPES: DISABLE |
308 | PROTOTYPES: DISABLE |
303 | |
309 | |
304 | BOOT: |
310 | BOOT: |
… | |
… | |
312 | X_TLS_INIT (check_key); |
318 | X_TLS_INIT (check_key); |
313 | #endif |
319 | #endif |
314 | |
320 | |
315 | if (s_epipe_new (&ep)) |
321 | if (s_epipe_new (&ep)) |
316 | croak ("Coro::Multicore: unable to initialise event pipe.\n"); |
322 | croak ("Coro::Multicore: unable to initialise event pipe.\n"); |
|
|
323 | |
|
|
324 | pthread_atfork (0, 0, atfork_child); |
317 | |
325 | |
318 | perl_thx = PERL_GET_CONTEXT; |
326 | perl_thx = PERL_GET_CONTEXT; |
319 | |
327 | |
320 | I_CORO_API ("Coro::Multicore"); |
328 | I_CORO_API ("Coro::Multicore"); |
321 | |
329 | |