diff options
author | Lukas Larsson <[email protected]> | 2018-12-06 11:53:18 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2018-12-06 11:53:18 +0100 |
commit | ea7d6c39f2179b2240d55df4a1ddd515b6d32832 (patch) | |
tree | 117436f49db44ee51a9b28c0cf94e094c31ed280 /erts/emulator/sys/common/erl_poll.h | |
parent | 551e15331967551307b1618248334b20dce3241c (diff) | |
parent | 73e4f5f21bbf492ab61c01dee48fa09fd7309a50 (diff) | |
download | otp-ea7d6c39f2179b2240d55df4a1ddd515b6d32832.tar.gz otp-ea7d6c39f2179b2240d55df4a1ddd515b6d32832.tar.bz2 otp-ea7d6c39f2179b2240d55df4a1ddd515b6d32832.zip |
Merge branch 'maint'
Conflicts:
erts/emulator/beam/erl_process.c
Diffstat (limited to 'erts/emulator/sys/common/erl_poll.h')
-rw-r--r-- | erts/emulator/sys/common/erl_poll.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/erts/emulator/sys/common/erl_poll.h b/erts/emulator/sys/common/erl_poll.h index e1cea7eb8b..d40dabc529 100644 --- a/erts/emulator/sys/common/erl_poll.h +++ b/erts/emulator/sys/common/erl_poll.h @@ -51,6 +51,7 @@ #include "sys.h" #define ERTS_POLL_NO_TIMEOUT ERTS_MONOTONIC_TIME_MIN +#define ERTS_POLL_INF_TIMEOUT ERTS_MONOTONIC_TIME_MAX #ifdef ERTS_ENABLE_KERNEL_POLL # undef ERTS_ENABLE_KERNEL_POLL @@ -130,6 +131,9 @@ #endif #define ERTS_POLL_USE_FALLBACK (ERTS_POLL_USE_KQUEUE || ERTS_POLL_USE_EPOLL) +#define ERTS_POLL_USE_SCHEDULER_POLLING (ERTS_POLL_USE_KQUEUE || ERTS_POLL_USE_EPOLL) +#define ERTS_POLL_SCHEDULER_POLLING_TIMEOUT 10 +#define ERTS_POLL_USE_TIMERFD 0 typedef Uint32 ErtsPollEvents; @@ -156,6 +160,14 @@ typedef enum { #include <sys/epoll.h> +#if ERTS_POLL_USE_EPOLL +#ifdef HAVE_SYS_TIMERFD_H +#include <sys/timerfd.h> +#undef ERTS_POLL_USE_TIMERFD +#define ERTS_POLL_USE_TIMERFD 1 +#endif +#endif + #define ERTS_POLL_EV_E2N(EV) \ ((uint32_t) (EV)) #define ERTS_POLL_EV_N2E(EV) \ @@ -276,7 +288,7 @@ typedef struct _ErtsPollResFd { #endif -#define ERTS_POLL_EV_NONE (UINT_MAX & ~(ERTS_POLL_EV_IN|ERTS_POLL_EV_OUT|ERTS_POLL_EV_NVAL|ERTS_POLL_EV_ERR)) +#define ERTS_POLL_EV_NONE ERTS_POLL_EV_N2E((UINT_MAX & ~(ERTS_POLL_EV_IN|ERTS_POLL_EV_OUT|ERTS_POLL_EV_NVAL|ERTS_POLL_EV_ERR))) #define ev2str(ev) \ (((ev) == 0 || (ev) == ERTS_POLL_EV_NONE) ? "NONE" : \ |