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

Comparing IO-AIO/AIO.xs (file contents):
Revision 1.23 by root, Tue Aug 16 23:33:34 2005 UTC vs.
Revision 1.24 by root, Wed Aug 17 03:01:56 2005 UTC

86static int 86static int
87poll_cb () 87poll_cb ()
88{ 88{
89 dSP; 89 dSP;
90 int count = 0; 90 int count = 0;
91 int do_croak = 0;
91 aio_req req, prv; 92 aio_req req, prv;
92 93
93 pthread_mutex_lock (&reslock); 94 pthread_mutex_lock (&reslock);
94 95
95 { 96 {
158 PUTBACK; 159 PUTBACK;
159 call_sv (req->callback, G_VOID | G_EVAL); 160 call_sv (req->callback, G_VOID | G_EVAL);
160 SPAGAIN; 161 SPAGAIN;
161 } 162 }
162 163
164 do_croak = SvTRUE (ERRSV);
165
163 LEAVE; 166 LEAVE;
164 167
165 if (req->callback) 168 if (req->callback)
166 SvREFCNT_dec (req->callback); 169 SvREFCNT_dec (req->callback);
167 170
171 174
172 prv = req; 175 prv = req;
173 req = req->next; 176 req = req->next;
174 Safefree (prv); 177 Safefree (prv);
175 178
176 /* TODO: croak on errors? */ 179 if (do_croak)
180 croak (0);
177 } 181 }
178 182
179 return count; 183 return count;
180} 184}
181 185

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines