ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/EV.xs
(Generate patch)

Comparing EV/EV.xs (file contents):
Revision 1.139 by root, Thu Apr 22 11:12:06 2010 UTC vs.
Revision 1.141 by root, Thu Jul 8 00:45:03 2010 UTC

29# define fd_mask Perl_fd_mask 29# define fd_mask Perl_fd_mask
30#endif 30#endif
31/* due to bugs in OS X we have to use libev/ explicitly here */ 31/* due to bugs in OS X we have to use libev/ explicitly here */
32#include "libev/ev.c" 32#include "libev/ev.c"
33 33
34#ifndef _WIN32 34#if !defined(_WIN32) && !defined(_MINIX)
35# include <pthread.h> 35# include <pthread.h>
36#endif 36#endif
37 37
38#define e_loop(w) INT2PTR (struct ev_loop *, SvIVX (((ev_watcher *)(w))->loop)) 38#define e_loop(w) INT2PTR (struct ev_loop *, SvIVX (((ev_watcher *)(w))->loop))
39#define e_flags(w) ((ev_watcher *)(w))->e_flags 39#define e_flags(w) ((ev_watcher *)(w))->e_flags
495 evapi.invoke = ev_invoke; 495 evapi.invoke = ev_invoke;
496 496
497 sv_setiv (sv, (IV)&evapi); 497 sv_setiv (sv, (IV)&evapi);
498 SvREADONLY_on (sv); 498 SvREADONLY_on (sv);
499 } 499 }
500#ifndef _WIN32 500#if !defined(_WIN32) && !defined(_MINIX)
501 pthread_atfork (0, 0, ev_default_fork); 501 pthread_atfork (0, 0, ev_default_fork);
502#endif 502#endif
503} 503}
504 504
505SV *ev_default_loop (unsigned int flags = 0) 505SV *ev_default_loop (unsigned int flags = 0)
695 ev_fork_set (RETVAL); 695 ev_fork_set (RETVAL);
696 if (!ix) START (fork, RETVAL); 696 if (!ix) START (fork, RETVAL);
697 OUTPUT: 697 OUTPUT:
698 RETVAL 698 RETVAL
699 699
700
701ev_child *child (int pid, int trace, SV *cb)
702 ALIAS:
703 child_ns = 1
704 CODE:
700#if EV_CHILD_ENABLE 705#if EV_CHILD_ENABLE
701
702ev_child *child (int pid, int trace, SV *cb)
703 ALIAS:
704 child_ns = 1
705 CODE:
706 RETVAL = e_new (sizeof (ev_child), cb, default_loop_sv); 706 RETVAL = e_new (sizeof (ev_child), cb, default_loop_sv);
707 ev_child_set (RETVAL, pid, trace); 707 ev_child_set (RETVAL, pid, trace);
708 if (!ix) START (child, RETVAL); 708 if (!ix) START (child, RETVAL);
709 OUTPUT: 709#else
710 RETVAL 710 croak ("EV::child watchers not supported on this platform");
711
712#endif 711#endif
712 OUTPUT:
713 RETVAL
714
713 715
714ev_stat *stat (SV *path, NV interval, SV *cb) 716ev_stat *stat (SV *path, NV interval, SV *cb)
715 ALIAS: 717 ALIAS:
716 stat_ns = 1 718 stat_ns = 1
717 CODE: 719 CODE:
1431 ev_fork_set (RETVAL); 1433 ev_fork_set (RETVAL);
1432 if (!ix) START (fork, RETVAL); 1434 if (!ix) START (fork, RETVAL);
1433 OUTPUT: 1435 OUTPUT:
1434 RETVAL 1436 RETVAL
1435 1437
1438
1439ev_child *child (struct ev_loop *loop, int pid, int trace, SV *cb)
1440 ALIAS:
1441 child_ns = 1
1442 CODE:
1436#if EV_CHILD_ENABLE 1443#if EV_CHILD_ENABLE
1437
1438ev_child *child (struct ev_loop *loop, int pid, int trace, SV *cb)
1439 ALIAS:
1440 child_ns = 1
1441 CODE:
1442 RETVAL = e_new (sizeof (ev_child), cb, ST (0)); 1444 RETVAL = e_new (sizeof (ev_child), cb, ST (0));
1443 ev_child_set (RETVAL, pid, trace); 1445 ev_child_set (RETVAL, pid, trace);
1444 if (!ix) START (child, RETVAL); 1446 if (!ix) START (child, RETVAL);
1445 OUTPUT: 1447#else
1446 RETVAL 1448 croak ("EV::child watchers not supported on this platform");
1447
1448#endif 1449#endif
1450 OUTPUT:
1451 RETVAL
1449 1452
1450ev_stat *stat (struct ev_loop *loop, SV *path, NV interval, SV *cb) 1453ev_stat *stat (struct ev_loop *loop, SV *path, NV interval, SV *cb)
1451 ALIAS: 1454 ALIAS:
1452 stat_ns = 1 1455 stat_ns = 1
1453 CODE: 1456 CODE:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines