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.99 by root, Fri Jun 1 05:51:21 2007 UTC vs.
Revision 1.100 by root, Fri Jun 1 06:00:40 2007 UTC

103 struct aio_cb *grp, *grp_prev, *grp_next, *grp_first; 103 struct aio_cb *grp, *grp_prev, *grp_next, *grp_first;
104} aio_cb; 104} aio_cb;
105 105
106enum { 106enum {
107 FLAG_CANCELLED = 0x01, /* request was cancelled */ 107 FLAG_CANCELLED = 0x01, /* request was cancelled */
108 FLAG_SV1_RO_OFF = 0x40, /* data was set readonly */ 108 FLAG_SV2_RO_OFF = 0x40, /* data was set readonly */
109 FLAG_PTR2_FREE = 0x80, /* need to free(ptr2) */ 109 FLAG_PTR2_FREE = 0x80, /* need to free(ptr2) */
110}; 110};
111 111
112typedef aio_cb *aio_req; 112typedef aio_cb *aio_req;
113typedef aio_cb *aio_req_ornot; 113typedef aio_cb *aio_req_ornot;
407 407
408static int req_invoke (aio_req req) 408static int req_invoke (aio_req req)
409{ 409{
410 dSP; 410 dSP;
411 411
412 if (req->flags & FLAG_SV1_RO_OFF) 412 if (req->flags & FLAG_SV2_RO_OFF)
413 SvREADONLY_off (req->sv1); 413 SvREADONLY_off (req->sv2);
414 414
415 if (!(req->flags & FLAG_CANCELLED) && SvOK (req->callback)) 415 if (!(req->flags & FLAG_CANCELLED) && SvOK (req->callback))
416 { 416 {
417 ENTER; 417 ENTER;
418 SAVETMPS; 418 SAVETMPS;
1460 req->stroffset = dataoffset; 1460 req->stroffset = dataoffset;
1461 1461
1462 if (!SvREADONLY (data)) 1462 if (!SvREADONLY (data))
1463 { 1463 {
1464 SvREADONLY_on (data); 1464 SvREADONLY_on (data);
1465 req->flags |= FLAG_SV1_RO_OFF; 1465 req->flags |= FLAG_SV2_RO_OFF;
1466 } 1466 }
1467 1467
1468 REQ_SEND; 1468 REQ_SEND;
1469 } 1469 }
1470} 1470}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines