--- IO-AIO/AIO.xs 2005/07/10 17:07:44 1.1 +++ IO-AIO/AIO.xs 2005/07/10 18:16:49 1.2 @@ -216,8 +216,24 @@ PUSHMARK (SP); XPUSHs (sv_2mortal (newSViv (req->result))); + + if (req->type == REQ_OPEN) + { + /* convert fd to fh */ + SV *fh; + + PUTBACK; + call_pv ("IO::AIO::_fd2fh", G_SCALAR | G_EVAL); + SPAGAIN; + + fh = POPs; + + PUSHMARK (SP); + XPUSHs (fh); + } + PUTBACK; - call_sv (req->callback, G_VOID); + call_sv (req->callback, G_VOID | G_EVAL); SPAGAIN; if (req->callback)