… | |
… | |
65 | # include <signal.h> |
65 | # include <signal.h> |
66 | # define EIO_STRUCT_DIRENT struct dirent |
66 | # define EIO_STRUCT_DIRENT struct dirent |
67 | |
67 | |
68 | #endif |
68 | #endif |
69 | |
69 | |
|
|
70 | /* perl stupidly overrides readdir and maybe others */ |
|
|
71 | /* with thread-unsafe versions, imagine that :( */ |
|
|
72 | #undef readdir |
|
|
73 | #undef opendir |
|
|
74 | #undef closedir |
|
|
75 | |
70 | #define EIO_STRUCT_STAT Stat_t |
76 | #define EIO_STRUCT_STAT Stat_t |
71 | |
77 | |
72 | /* use NV for 32 bit perls as it allows larger offsets */ |
78 | /* use NV for 32 bit perls as it allows larger offsets */ |
73 | #if IVSIZE >= 8 |
79 | #if IVSIZE >= 8 |
74 | # define SvVAL64 SvIV |
80 | # define SvVAL64 SvIV |
… | |
… | |
458 | \ |
464 | \ |
459 | req->callback = newSVsv (callback); \ |
465 | req->callback = newSVsv (callback); \ |
460 | req->pri = req_pri |
466 | req->pri = req_pri |
461 | |
467 | |
462 | #define REQ_SEND \ |
468 | #define REQ_SEND \ |
|
|
469 | PUTBACK; \ |
463 | req_submit (req); \ |
470 | req_submit (req); \ |
|
|
471 | SPAGAIN; \ |
464 | \ |
472 | \ |
465 | if (GIMME_V != G_VOID) \ |
473 | if (GIMME_V != G_VOID) \ |
466 | XPUSHs (req_sv (req, AIO_REQ_KLASS)); |
474 | XPUSHs (req_sv (req, AIO_REQ_KLASS)); |
467 | |
475 | |
468 | MODULE = IO::AIO PACKAGE = IO::AIO |
476 | MODULE = IO::AIO PACKAGE = IO::AIO |