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.153 by root, Mon Jan 10 01:59:41 2011 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/////////////////////////////////////////////////////////////////////////////
398 const_iv (EV, BACKEND_EPOLL) 401 const_iv (EV, BACKEND_EPOLL)
399 const_iv (EV, BACKEND_KQUEUE) 402 const_iv (EV, BACKEND_KQUEUE)
400 const_iv (EV, BACKEND_DEVPOLL) 403 const_iv (EV, BACKEND_DEVPOLL)
401 const_iv (EV, BACKEND_PORT) 404 const_iv (EV, BACKEND_PORT)
402 const_iv (EV, BACKEND_ALL) 405 const_iv (EV, BACKEND_ALL)
406 const_iv (EV, BACKEND_MASK)
403 const_iv (EV, FLAG_AUTO) 407 const_iv (EV, FLAG_AUTO)
404 const_iv (EV, FLAG_FORKCHECK) 408 const_iv (EV, FLAG_FORKCHECK)
405 const_iv (EV, FLAG_SIGNALFD) 409 const_iv (EV, FLAG_SIGNALFD)
410 const_iv (EV, FLAG_NOSIGMASK)
406 const_iv (EV, FLAG_NOENV) 411 const_iv (EV, FLAG_NOENV)
407 const_iv (EV, FLAG_NOINOTIFY) 412 const_iv (EV, FLAG_NOINOTIFY)
408 413
409 const_iv (EV_, VERSION_MAJOR) 414 const_iv (EV_, VERSION_MAJOR)
410 const_iv (EV_, VERSION_MINOR) 415 const_iv (EV_, VERSION_MINOR)
757 ev_stat_set (RETVAL, SvPVbyte_nolen (e_fh (RETVAL)), interval); 762 ev_stat_set (RETVAL, SvPVbyte_nolen (e_fh (RETVAL)), interval);
758 if (!ix) START (stat, RETVAL); 763 if (!ix) START (stat, RETVAL);
759 OUTPUT: 764 OUTPUT:
760 RETVAL 765 RETVAL
761 766
767#ifndef EV_NO_LOOPS
768
762ev_embed *embed (struct ev_loop *loop, SV *cb = 0) 769ev_embed *embed (struct ev_loop *loop, SV *cb = 0)
763 ALIAS: 770 ALIAS:
764 embed_ns = 1 771 embed_ns = 1
765 CODE: 772 CODE:
766{ 773{
772 ev_embed_set (RETVAL, loop); 779 ev_embed_set (RETVAL, loop);
773 if (!ix) START (embed, RETVAL); 780 if (!ix) START (embed, RETVAL);
774} 781}
775 OUTPUT: 782 OUTPUT:
776 RETVAL 783 RETVAL
784
785#endif
777 786
778ev_async *async (SV *cb) 787ev_async *async (SV *cb)
779 ALIAS: 788 ALIAS:
780 async_ns = 1 789 async_ns = 1
781 CODE: 790 CODE:
1324 CODE: 1333 CODE:
1325 RETVAL = boolSV (ev_async_pending (w)); 1334 RETVAL = boolSV (ev_async_pending (w));
1326 OUTPUT: 1335 OUTPUT:
1327 RETVAL 1336 RETVAL
1328 1337
1338#ifndef EV_NO_LOOPS
1339
1329MODULE = EV PACKAGE = EV::Loop PREFIX = ev_ 1340MODULE = EV PACKAGE = EV::Loop PREFIX = ev_
1330 1341
1331SV *new (SV *klass, unsigned int flags = 0) 1342SV *new (SV *klass, unsigned int flags = 0)
1332 CODE: 1343 CODE:
1333{ 1344{
1572 SvOK (timeout) ? SvNV (timeout) : -1., 1583 SvOK (timeout) ? SvNV (timeout) : -1.,
1573 e_once_cb, 1584 e_once_cb,
1574 newSVsv (cb) 1585 newSVsv (cb)
1575 ); 1586 );
1576 1587
1588#endif
1589

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines