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

Comparing EV/EV.xs (file contents):
Revision 1.147 by root, Thu Oct 28 04:59:35 2010 UTC vs.
Revision 1.152 by root, Thu Dec 30 07:43:03 2010 UTC

15 return s_fileno (fh, 0); 15 return s_fileno (fh, 0);
16} 16}
17 17
18#define EV_STANDALONE 1 18#define EV_STANDALONE 1
19#define EV_PROTOTYPES 1 19#define EV_PROTOTYPES 1
20#define EV_USE_CLOCK_SYSCALL 0 /* as long as we need pthreads anyways... */
20#define EV_USE_NANOSLEEP EV_USE_MONOTONIC 21#define EV_USE_NANOSLEEP EV_USE_MONOTONIC
21#define EV_H <ev.h> 22#define EV_H <ev.h>
22#define EV_CONFIG_H error 23#define EV_CONFIG_H error
23#include "EV/EVAPI.h" 24#include "EV/EVAPI.h"
24 25
208 209
209 if (expect_true (sv_events_cache)) 210 if (expect_true (sv_events_cache))
210 { 211 {
211 sv_events = sv_events_cache; sv_events_cache = 0; 212 sv_events = sv_events_cache; sv_events_cache = 0;
212 SvIV_set (sv_events, revents); 213 SvIV_set (sv_events, revents);
214 SvIOK_only (sv_events);
213 } 215 }
214 else 216 else
215 { 217 {
216 sv_events = newSViv (revents); 218 sv_events = newSViv (revents);
217 SvREADONLY_on (sv_events); 219 SvREADONLY_on (sv_events);
341 croak ("illegal file descriptor or filehandle (either no attached file descriptor or illegal value): %s", SvPV_nolen (fh)); 343 croak ("illegal file descriptor or filehandle (either no attached file descriptor or illegal value): %s", SvPV_nolen (fh));
342 344
343#define CHECK_SIG(sv,num) if ((num) < 0) \ 345#define CHECK_SIG(sv,num) if ((num) < 0) \
344 croak ("illegal signal number or name: %s", SvPV_nolen (sv)); 346 croak ("illegal signal number or name: %s", SvPV_nolen (sv));
345 347
348static void
346EV_INLINE default_fork (void) 349default_fork (void)
347{ 350{
348 ev_loop_fork (EV_DEFAULT_UC); 351 ev_loop_fork (EV_DEFAULT_UC);
349} 352}
350 353
351///////////////////////////////////////////////////////////////////////////// 354/////////////////////////////////////////////////////////////////////////////
757 ev_stat_set (RETVAL, SvPVbyte_nolen (e_fh (RETVAL)), interval); 760 ev_stat_set (RETVAL, SvPVbyte_nolen (e_fh (RETVAL)), interval);
758 if (!ix) START (stat, RETVAL); 761 if (!ix) START (stat, RETVAL);
759 OUTPUT: 762 OUTPUT:
760 RETVAL 763 RETVAL
761 764
765#ifndef EV_NO_LOOPS
766
762ev_embed *embed (struct ev_loop *loop, SV *cb = 0) 767ev_embed *embed (struct ev_loop *loop, SV *cb = 0)
763 ALIAS: 768 ALIAS:
764 embed_ns = 1 769 embed_ns = 1
765 CODE: 770 CODE:
766{ 771{
772 ev_embed_set (RETVAL, loop); 777 ev_embed_set (RETVAL, loop);
773 if (!ix) START (embed, RETVAL); 778 if (!ix) START (embed, RETVAL);
774} 779}
775 OUTPUT: 780 OUTPUT:
776 RETVAL 781 RETVAL
782
783#endif
777 784
778ev_async *async (SV *cb) 785ev_async *async (SV *cb)
779 ALIAS: 786 ALIAS:
780 async_ns = 1 787 async_ns = 1
781 CODE: 788 CODE:
1324 CODE: 1331 CODE:
1325 RETVAL = boolSV (ev_async_pending (w)); 1332 RETVAL = boolSV (ev_async_pending (w));
1326 OUTPUT: 1333 OUTPUT:
1327 RETVAL 1334 RETVAL
1328 1335
1336#ifndef EV_NO_LOOPS
1337
1329MODULE = EV PACKAGE = EV::Loop PREFIX = ev_ 1338MODULE = EV PACKAGE = EV::Loop PREFIX = ev_
1330 1339
1331SV *new (SV *klass, unsigned int flags = 0) 1340SV *new (SV *klass, unsigned int flags = 0)
1332 CODE: 1341 CODE:
1333{ 1342{
1572 SvOK (timeout) ? SvNV (timeout) : -1., 1581 SvOK (timeout) ? SvNV (timeout) : -1.,
1573 e_once_cb, 1582 e_once_cb,
1574 newSVsv (cb) 1583 newSVsv (cb)
1575 ); 1584 );
1576 1585
1586#endif
1587

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines