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

Comparing EV/EV.xs (file contents):
Revision 1.116 by root, Tue Oct 28 08:08:28 2008 UTC vs.
Revision 1.120 by root, Sun Nov 23 17:44:46 2008 UTC

27#endif 27#endif
28 28
29/* 5.10.0 */ 29/* 5.10.0 */
30#ifndef SvREFCNT_inc_NN 30#ifndef SvREFCNT_inc_NN
31# define SvREFCNT_inc_NN(sv) SvREFCNT_inc (sv) 31# define SvREFCNT_inc_NN(sv) SvREFCNT_inc (sv)
32#endif
33
34/* 5.6.x */
35#ifndef SvRV_set
36# define SvRV_set(a,b) SvRV ((a)) = (b)
32#endif 37#endif
33 38
34#if __GNUC__ >= 3 39#if __GNUC__ >= 3
35# define expect(expr,value) __builtin_expect ((expr),(value)) 40# define expect(expr,value) __builtin_expect ((expr),(value))
36#else 41#else
244 PUSHs (sv_events); 249 PUSHs (sv_events);
245 250
246 PUTBACK; 251 PUTBACK;
247 call_sv (w->cb_sv, G_DISCARD | G_VOID | G_EVAL); 252 call_sv (w->cb_sv, G_DISCARD | G_VOID | G_EVAL);
248 253
249 if (expect_false (sv_self_cache)) 254 if (expect_false (SvREFCNT (sv_self) != 1 || sv_self_cache))
250 SvREFCNT_dec (sv_self); 255 SvREFCNT_dec (sv_self);
251 else 256 else
252 { 257 {
253 SvREFCNT_dec (SvRV (sv_self)); 258 SvREFCNT_dec (SvRV (sv_self));
254 SvRV_set (sv_self, &PL_sv_undef); 259 SvRV_set (sv_self, &PL_sv_undef);
255 sv_self_cache = sv_self; 260 sv_self_cache = sv_self;
256 } 261 }
257 262
258 if (expect_false (sv_events_cache)) 263 if (expect_false (SvREFCNT (sv_events) != 1 || sv_events_cache))
259 SvREFCNT_dec (sv_events); 264 SvREFCNT_dec (sv_events);
260 else 265 else
261 sv_events_cache = sv_events; 266 sv_events_cache = sv_events;
262 267
263 if (SvTRUE (ERRSV)) 268 if (expect_false (SvTRUE (ERRSV)))
264 { 269 {
265 SPAGAIN; 270 SPAGAIN;
266 PUSHMARK (SP); 271 PUSHMARK (SP);
267 PUTBACK; 272 PUTBACK;
268 call_sv (get_sv ("EV::DIED", 1), G_DISCARD | G_VOID | G_EVAL | G_KEEPERR); 273 call_sv (get_sv ("EV::DIED", 1), G_DISCARD | G_VOID | G_EVAL | G_KEEPERR);
520 525
521unsigned int ev_recommended_backends () 526unsigned int ev_recommended_backends ()
522 527
523unsigned int ev_embeddable_backends () 528unsigned int ev_embeddable_backends ()
524 529
530void ev_sleep (NV interval)
531
525NV ev_time () 532NV ev_time ()
526 533
527NV ev_now () 534NV ev_now ()
528 C_ARGS: evapi.default_loop 535 C_ARGS: evapi.default_loop
529 536

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines