--- libeio/eio.c 2018/02/17 15:33:22 1.147 +++ 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;