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.88 by root, Mon Oct 30 23:43:17 2006 UTC vs.
Revision 1.89 by root, Tue Oct 31 00:11:52 2006 UTC

129 SV *self; /* the perl counterpart of this request, if any */ 129 SV *self; /* the perl counterpart of this request, if any */
130 struct aio_cb *grp, *grp_prev, *grp_next, *grp_first; 130 struct aio_cb *grp, *grp_prev, *grp_next, *grp_first;
131} aio_cb; 131} aio_cb;
132 132
133enum { 133enum {
134 FLAG_CANCELLED = 0x01, 134 FLAG_CANCELLED = 0x01, /* request was cancelled */
135 FLAG_SV1_RO_OFF = 0x40, /* data was set readonly */ 135 FLAG_SV1_RO_OFF = 0x40, /* data was set readonly */
136 FLAG_PTR2_FREE = 0x80, /* need free(ptr2) */ 136 FLAG_PTR2_FREE = 0x80, /* need to free(ptr2) */
137}; 137};
138 138
139typedef aio_cb *aio_req; 139typedef aio_cb *aio_req;
140typedef aio_cb *aio_req_ornot; 140typedef aio_cb *aio_req_ornot;
141 141
1320{ 1320{
1321 dREQ; 1321 dREQ;
1322 1322
1323 req->type = REQ_OPEN; 1323 req->type = REQ_OPEN;
1324 req->sv1 = newSVsv (pathname); 1324 req->sv1 = newSVsv (pathname);
1325 req->ptr1 = SvPVbyte_nolen (pathname); 1325 req->ptr1 = SvPVbyte_nolen (req->sv1);
1326 req->int1 = flags; 1326 req->int1 = flags;
1327 req->mode = mode; 1327 req->mode = mode;
1328 1328
1329 REQ_SEND; 1329 REQ_SEND;
1330} 1330}
1426 data = newSV (NAME_MAX); 1426 data = newSV (NAME_MAX);
1427 SvPOK_on (data); 1427 SvPOK_on (data);
1428 1428
1429 req->type = REQ_READLINK; 1429 req->type = REQ_READLINK;
1430 req->fh = newSVsv (path); 1430 req->fh = newSVsv (path);
1431 req->ptr2 = SvPVbyte_nolen (path); 1431 req->ptr2 = SvPVbyte_nolen (req->fh);
1432 req->sv1 = data; 1432 req->sv1 = data;
1433 req->ptr1 = SvPVbyte_nolen (data); 1433 req->ptr1 = SvPVbyte_nolen (data);
1434 1434
1435 REQ_SEND; 1435 REQ_SEND;
1436} 1436}
1500 1500
1501 if (SvPOK (fh_or_path)) 1501 if (SvPOK (fh_or_path))
1502 { 1502 {
1503 req->type = ix; 1503 req->type = ix;
1504 req->sv1 = newSVsv (fh_or_path); 1504 req->sv1 = newSVsv (fh_or_path);
1505 req->ptr1 = SvPVbyte_nolen (fh_or_path); 1505 req->ptr1 = SvPVbyte_nolen (req->sv1);
1506 } 1506 }
1507 else 1507 else
1508 { 1508 {
1509 req->type = REQ_FSTAT; 1509 req->type = REQ_FSTAT;
1510 req->fh = newSVsv (fh_or_path); 1510 req->fh = newSVsv (fh_or_path);
1526{ 1526{
1527 dREQ; 1527 dREQ;
1528 1528
1529 req->type = ix; 1529 req->type = ix;
1530 req->sv1 = newSVsv (pathname); 1530 req->sv1 = newSVsv (pathname);
1531 req->ptr1 = SvPVbyte_nolen (pathname); 1531 req->ptr1 = SvPVbyte_nolen (req->sv1);
1532 1532
1533 REQ_SEND; 1533 REQ_SEND;
1534} 1534}
1535 1535
1536void 1536void
1548 1548
1549 req->type = ix; 1549 req->type = ix;
1550 req->fh = newSVsv (oldpath); 1550 req->fh = newSVsv (oldpath);
1551 req->ptr2 = SvPVbyte_nolen (req->fh); 1551 req->ptr2 = SvPVbyte_nolen (req->fh);
1552 req->sv1 = newSVsv (newpath); 1552 req->sv1 = newSVsv (newpath);
1553 req->ptr1 = SvPVbyte_nolen (newpath); 1553 req->ptr1 = SvPVbyte_nolen (req->sv1);
1554 1554
1555 REQ_SEND; 1555 REQ_SEND;
1556} 1556}
1557 1557
1558void 1558void
1565{ 1565{
1566 dREQ; 1566 dREQ;
1567 1567
1568 req->type = REQ_MKNOD; 1568 req->type = REQ_MKNOD;
1569 req->sv1 = newSVsv (pathname); 1569 req->sv1 = newSVsv (pathname);
1570 req->ptr1 = SvPVbyte_nolen (pathname); 1570 req->ptr1 = SvPVbyte_nolen (req->sv1);
1571 req->mode = (mode_t)mode; 1571 req->mode = (mode_t)mode;
1572 req->offs = dev; 1572 req->offs = dev;
1573 1573
1574 REQ_SEND; 1574 REQ_SEND;
1575} 1575}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines