--- IO-AIO/AIO.xs 2011/09/27 01:43:03 1.197 +++ IO-AIO/AIO.xs 2011/09/29 09:51:24 1.200 @@ -822,7 +822,7 @@ static void req_set_path (aio_req req, SV *path, SV **wdsv, SV **pathsv, eio_wd *wd, void **ptr) { - if (SvROK (path)) + if (expect_false (SvROK (path))) { AV *av = (AV *)SvRV (path); SV *wdob; @@ -1330,9 +1330,6 @@ void aio_chmod (SV8 *fh_or_path, int mode, SV *callback=&PL_sv_undef) - ALIAS: - aio_chmod = EIO_CHMOD - aio_mkdir = EIO_MKDIR PPCODE: { dREQ; @@ -1374,6 +1371,19 @@ } void +aio_mkdir (SV8 *pathname, int mode, SV *callback=&PL_sv_undef) + PPCODE: +{ + dREQ; + + req->type = EIO_MKDIR; + req->int2 = mode; + req_set_path1 (req, pathname); + + REQ_SEND; +} + +void aio_unlink (SV8 *pathname, SV *callback=&PL_sv_undef) ALIAS: aio_unlink = EIO_UNLINK @@ -1398,7 +1408,7 @@ PPCODE: { dREQ; - eio_wd wd2; + eio_wd wd2 = 0; req->type = ix; req_set_path1 (req, oldpath);