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

Comparing EV-ADNS/ADNS.xs (file contents):
Revision 1.4 by root, Sat Dec 1 15:30:08 2007 UTC vs.
Revision 1.5 by root, Sat Dec 1 15:54:40 2007 UTC

38 c = (struct ctx *)ctx; 38 c = (struct ctx *)ctx;
39 cb = c->cb; 39 cb = c->cb;
40 c->cb = 0; 40 c->cb = 0;
41 ev_unref (); 41 ev_unref ();
42 42
43 PUSHMARK (SP);
44
45 XPUSHs (sv_2mortal (newSViv (a->status)));
43 free (a); 46 free (a);
44 47
45 PUSHMARK (SP);
46 printf ("call %s\n", SvPV_nolen(cb));
47 PUTBACK; 48 PUTBACK;
48 call_sv (cb, G_VOID | G_DISCARD); 49 call_sv (cb, G_VOID | G_DISCARD | G_EVAL);
49 SPAGAIN; 50 SPAGAIN;
50 51
51 SvREFCNT_dec (cb); 52 SvREFCNT_dec (cb);
52 SvREFCNT_dec (c->self); 53 SvREFCNT_dec (c->self);
53 } 54 }
249 c->self = csv; 250 c->self = csv;
250 c->cb = newSVsv (cb); 251 c->cb = newSVsv (cb);
251 252
252 if (GIMME_V != G_VOID) 253 if (GIMME_V != G_VOID)
253 { 254 {
254 csv = sv_2mortal (newRV_noinc (csv)); 255 csv = sv_2mortal (newRV_inc (csv));
255 sv_bless (csv, stash); 256 sv_bless (csv, stash);
256 XPUSHs (csv); 257 XPUSHs (csv);
257 } 258 }
258 } 259 }
259} 260}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines