--- libeio/eio.c 2018/01/06 01:04:43 1.146 +++ libeio/eio.c 2018/06/15 02:57:36 1.150 @@ -327,6 +327,10 @@ # define PATH_MAX 0 #endif +#ifndef O_CLOEXEC + #define O_CLOEXEC 0 +#endif + #ifndef EIO_PATH_MIN # define EIO_PATH_MIN 8160 #endif @@ -957,9 +961,9 @@ if (addr < end) if (flags & EIO_MT_MODIFY) /* modify */ - do { *((volatile sig_atomic_t *)addr) |= 0; } while ((addr += page) < len && !EIO_CANCELLED (req)); + do { *((volatile sig_atomic_t *)addr) |= 0; } while ((addr += page) < end && !EIO_CANCELLED (req)); else - do { *((volatile sig_atomic_t *)addr) ; } while ((addr += page) < len && !EIO_CANCELLED (req)); + do { *((volatile sig_atomic_t *)addr) ; } while ((addr += page) < end && !EIO_CANCELLED (req)); } return 0; @@ -2336,7 +2340,7 @@ return eio__2path (EIO_RENAME, path, new_path, pri, cb, data); } -eio_req *eio_slurp (const char *path, void *buf, ssize_t length, off_t offset, int pri, eio_cb cb, void *data) +eio_req *eio_slurp (const char *path, void *buf, size_t length, off_t offset, int pri, eio_cb cb, void *data) { REQ (EIO_SLURP); PATH; req->offs = offset; req->size = length; req->ptr2 = buf; SEND; }