… | |
… | |
430 | |
430 | |
431 | return ev_rt_now; |
431 | return ev_rt_now; |
432 | } |
432 | } |
433 | # endif |
433 | # endif |
434 | |
434 | |
|
|
435 | static int |
|
|
436 | ev_is_default_loop (EV_P) |
|
|
437 | { |
|
|
438 | #if EV_MULTIPLICITY |
|
|
439 | extern struct ev_loop *ev_default_loop_ptr; |
|
|
440 | |
|
|
441 | return !!(EV_A == ev_default_loop_ptr); |
|
|
442 | #else |
|
|
443 | return 1; |
|
|
444 | #endif |
|
|
445 | } |
|
|
446 | |
435 | void ev_default_destroy (void); /* destroy the default loop */ |
447 | void ev_default_destroy (void); /* destroy the default loop */ |
436 | /* this needs to be called after fork, to duplicate the default loop */ |
448 | /* this needs to be called after fork, to duplicate the default loop */ |
437 | /* if you create alternative loops you have to call ev_loop_fork on them */ |
449 | /* if you create alternative loops you have to call ev_loop_fork on them */ |
438 | /* you can call it in either the parent or the child */ |
450 | /* you can call it in either the parent or the child */ |
439 | /* you can actually call it at any time, anywhere :) */ |
451 | /* you can actually call it at any time, anywhere :) */ |