Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
2982-erts-Change-poll_control-failed-return-to-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2982-erts-Change-poll_control-failed-return-to-only-ERTS_.patch of Package erlang
From cd5f88b647ef6ae6ad8fbd584c5f77706f081ebe Mon Sep 17 00:00:00 2001 From: Sverker Eriksson <sverker@erlang.org> Date: Thu, 17 Dec 2020 20:35:57 +0100 Subject: [PATCH 2/3] erts: Change poll_control failed return to only ERTS_POLL_EV_NVAL --- erts/emulator/sys/common/erl_check_io.c | 8 ++++---- erts/emulator/sys/common/erl_poll.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/erts/emulator/sys/common/erl_check_io.c b/erts/emulator/sys/common/erl_check_io.c index e9091ec771..fb0b6699ef 100644 --- a/erts/emulator/sys/common/erl_check_io.c +++ b/erts/emulator/sys/common/erl_check_io.c @@ -531,7 +531,7 @@ erts_io_notify_port_task_executed(ErtsPortTaskType type, } /* We were unable to re-insert the fd into the pollset, signal the callback. */ - if (new_events & (ERTS_POLL_EV_ERR|ERTS_POLL_EV_NVAL)) { + if (new_events & ERTS_POLL_EV_NVAL) { if (state->active_events & ERTS_POLL_EV_IN) iready(state->driver.select->inport, state); if (state->active_events & ERTS_POLL_EV_OUT) @@ -737,7 +737,7 @@ deselect(ErtsDrvEventState *state, int mode) erts_io_control(state, ERTS_POLL_OP_MOD, state->active_events); /* We were unable to re-insert the fd into the pollset, signal the callback. */ - if (new_events & (ERTS_POLL_EV_ERR|ERTS_POLL_EV_NVAL)) { + if (new_events & ERTS_POLL_EV_NVAL) { if (state->active_events & ERTS_POLL_EV_IN) iready(state->driver.select->inport, state); if (state->active_events & ERTS_POLL_EV_OUT) @@ -1166,7 +1166,7 @@ enif_select_x(ErlNifEnv* env, state->active_events, &wake_poller); - if (new_events & (ERTS_POLL_EV_ERR|ERTS_POLL_EV_NVAL)) { + if (new_events & ERTS_POLL_EV_NVAL) { if (state->type == ERTS_EV_TYPE_NIF && !old_events) { state->type = ERTS_EV_TYPE_NONE; state->flags = 0; @@ -1778,7 +1778,7 @@ erts_check_io(ErtsPollThread *psi, ErtsMonotonicTime timeout_time, int poll_only new_events = erts_io_control(state, ERTS_POLL_OP_MOD, reactive_events); /* Unable to re-enable the fd, signal all callbacks */ - if (new_events & (ERTS_POLL_EV_ERR|ERTS_POLL_EV_NVAL)) { + if (new_events & ERTS_POLL_EV_NVAL) { revents |= reactive_events; state->active_events &= ~reactive_events; } diff --git a/erts/emulator/sys/common/erl_poll.c b/erts/emulator/sys/common/erl_poll.c index 09b673c350..bb46ba42f3 100644 --- a/erts/emulator/sys/common/erl_poll.c +++ b/erts/emulator/sys/common/erl_poll.c @@ -1361,7 +1361,7 @@ poll_control(ErtsPollSet *ps, int fd, ErtsPollOp op, if (fd < ps->internal_fd_limit || fd >= max_fds) { if (fd < 0 || fd >= max_fds) { - new_events = ERTS_POLL_EV_ERR; + new_events = ERTS_POLL_EV_NVAL; goto done; } #if ERTS_POLL_USE_KERNEL_POLL -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor