Browse Source

*** empty log message ***

tags/rel-4.31
Marc Alexander Lehmann 1 year ago
parent
commit
7d8185ccbb
3 changed files with 31 additions and 5 deletions
  1. +5
    -0
      Changes
  2. +20
    -3
      ev.c
  3. +6
    -2
      libev.m4

+ 5
- 0
Changes View File

@@ -4,6 +4,11 @@ TODO: revisit 59.x timer in the light of modern powersaving
TODO: maybe use timerfd to detect time jumps on linux
TODO: document EV_TSTAMP_T

4.29
- (libev) add io uring autoconf and non-autoconf detection,
the latter of which should disable io_uring compilation
on old systems.

4.28 (EV only)
- linuxaio backend resulted in random memory corruption
when loop is forked.


+ 20
- 3
ev.c View File

@@ -126,6 +126,15 @@
# define EV_USE_LINUXAIO 0
# endif
# if HAVE_LINUX_FS_H && HAVE_SYS_TIMERFD_H && HAVE_KERNEL_RWF_T
# ifndef EV_USE_IOURING
# define EV_USE_IOURING EV_FEATURE_BACKENDS
# endif
# else
# undef EV_USE_IOURING
# define EV_USE_IOURING 0
# endif
# if HAVE_KQUEUE && HAVE_SYS_EVENT_H
# ifndef EV_USE_KQUEUE
# define EV_USE_KQUEUE EV_FEATURE_BACKENDS
@@ -170,7 +179,7 @@
# undef EV_USE_EVENTFD
# define EV_USE_EVENTFD 0
# endif
#endif

/* OS X, in its infinite idiocy, actually HARDCODES
@@ -335,8 +344,8 @@
#endif

#ifndef EV_USE_IOURING
# if __linux
# define EV_USE_IOURING 0
# if __linux /* later checks might disable again */
# define EV_USE_IOURING 1
# else
# define EV_USE_IOURING 0
# endif
@@ -440,6 +449,14 @@
# define EV_USE_INOTIFY 0
#endif

#if __linux && EV_USE_IOURING
# include <linux/fs.h>
# ifndef RWF_SYNC
# undef EV_USE_IOURING
# define EV_USE_IOURING 0
# endif
#endif

#if !EV_USE_NANOSLEEP
/* hp-ux has it in sys/time.h, which we unconditionally include above */
# if !defined _WIN32 && !defined __hpux


+ 6
- 2
libev.m4 View File

@@ -2,8 +2,8 @@ dnl this file is part of libev, do not make local modifications
dnl http://software.schmorp.de/pkg/libev

dnl libev support
AC_CHECK_HEADERS(sys/inotify.h sys/epoll.h sys/event.h port.h poll.h)
AC_CHECK_HEADERS(sys/select.h sys/eventfd.h sys/signalfd.h linux/aio_abi.h)
AC_CHECK_HEADERS(sys/inotify.h sys/epoll.h sys/event.h port.h poll.h sys/timerfd.h)
AC_CHECK_HEADERS(sys/select.h sys/eventfd.h sys/signalfd.h linux/aio_abi.h linux/fs.h)
AC_CHECK_FUNCS(inotify_init epoll_ctl kqueue port_create poll select eventfd signalfd)
@@ -36,6 +36,10 @@ AC_CHECK_FUNCS(nanosleep, [], [
fi
])

AC_CHECK_TYPE(__kernel_rwf_t, [
AC_DEFINE(HAVE_KERNEL_RWF_T, 1, Define to 1 if linux/fs.h defined kernel_rwf_t)
], [], [#include <linux/fs.h>])

if test -z "$LIBEV_M4_AVOID_LIBM"; then
LIBM=m
fi


Loading…
Cancel
Save