--- libeio/Changes 2009/06/06 17:25:13 1.6 +++ libeio/Changes 2011/06/29 10:32:55 1.32 @@ -1,13 +1,52 @@ Revision history for libeio -TODO: maybe add mincore support? available on at leats darwin, solaris, linux, freebsd +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 1.0 - - readdir: corretcly set errno to ENOMEM when OOM. + - use nonstandard but maybe-working-on-bsd fork technique. + - 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.