Revision history for libeio TODO: maybe add mincore support? available on at least darwin, solaris, linux, freebsd TODO: openbsd requires stdint.h for intptr_t - why posix? TODO: make mtouch/readdir maybe others cancellable in-request TODO: fadvise request TODO: fdopendir/utimensat 1.0 - fix a deadlock where a wakeup signal could be missed when a timeout occured at the same time. - use nonstandard but maybe-working-on-bsd fork technique. - use fewer time() syscalls when waiting for new requests. - fix a path-memory-leak in readdir when using the wrappers (reported by Thomas L. Shinnick). - support a max_idle value of 0. - support setting of idle timeout value (eio_set_idle_timeout). - readdir: correctly handle malloc failures. - readdir: new flags argument, can return inode and possibly filetype, can sort in various ways. - readdir: stop immediately when cancelled, do not continue reading the directory. - fix return value of eio_sendfile_sync. - include sys/mman.h for msync. - added EIO_STACKSIZE. - added msync, mtouch support (untested). - added sync_file_range (untested). - fixed custom support. - use a more robust feed-add detection method. - "outbundled" from IO::AIO. - eio_set_max_polltime did not properly convert time to ticks. - tentatively support darwin in sendfile. - fix freebsd/darwin sendfile. - also use sendfile emulation for ENOTSUP and EOPNOTSUPP error codes. - add OS-independent EIO_MT_* and EIO_MS_* flag enums. - add eio_statvfs/eio_fstatvfs. - add eio_mlock/eio_mlockall and OS-independent MCL_* flag enums. - no longer set errno to 0 before making syscalls, this only lures people into the trap of believing errno shows success or failure. - "fix" demo.c so that it works as non-root. - suppoert utimes seperately from futimes, as some systems have utimes but not futimes. - use _POSIX_MEMLOCK_RANGE for mlock. - do not (errornously) overwrite CFLAGS in configure.ac. - mknod used int3 for dev_t (ยง2 bit), not offs (64 bit). - fix memory corruption in eio_readdirx for the flags combination EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST. - port to openbsd (another blatantly broken non-UNIX/POSIX platform). - fix eio_custom prototype. - work around a Linux (and likely FreeBSD and other kernels) bug where sendfile would not transfer all the requested bytes on large transfers, using a heuristic. - use libecb, and apply lots of minor space optimisations. - disable sendfile on darwin, broken as everything else. - add realpath request and implementation. - cancelled requests will still invoke their request callbacks. - add fallocate. - do not acquire any locks when forking. - incorporated some mingw32 changes by traviscline. - added syncfs support, using direct syscall. - set thread name on linux (ps -L/Hcx, top, gdb). - remove useless use of volatile variables. - fix memory leak when reaping threads. - use utime now uses nanosecond resolution on posix 2008 systems. - allow taking advantage of posix 2008 xxxat functions and fdopendir by implementing a working directory abstraction.