diff options
author | Lukas Larsson <[email protected]> | 2017-05-30 16:35:18 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2017-10-02 10:35:52 +0200 |
commit | 988f5f5e8061ce2e135a314ca782788eda478a06 (patch) | |
tree | 1609c42abb9ed03a176865ee32ad3de803c392d3 /erts/emulator/beam/erl_port_task.c | |
parent | 1f9003a3dd9bbf9e3dcd84b8fdecef04a3b5e9c7 (diff) | |
download | otp-988f5f5e8061ce2e135a314ca782788eda478a06.tar.gz otp-988f5f5e8061ce2e135a314ca782788eda478a06.tar.bz2 otp-988f5f5e8061ce2e135a314ca782788eda478a06.zip |
erts: Move all I/O polling to a seperate thread
Diffstat (limited to 'erts/emulator/beam/erl_port_task.c')
-rw-r--r-- | erts/emulator/beam/erl_port_task.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/erts/emulator/beam/erl_port_task.c b/erts/emulator/beam/erl_port_task.c index 86df0f4cb8..a588477320 100644 --- a/erts/emulator/beam/erl_port_task.c +++ b/erts/emulator/beam/erl_port_task.c @@ -582,12 +582,10 @@ static ERTS_INLINE void reset_executed_io_task_handle(ErtsPortTask *ptp) { if (ptp->u.alive.handle) { - ErtsIoTask *itp = ErtsContainerStruct(ptp->u.alive.handle, ErtsIoTask, task); - ASSERT(ptp == handle2task(ptp->u.alive.handle)); - erts_io_notify_port_task_executed(ptp->u.alive.handle); - reset_port_task_handle(ptp->u.alive.handle); - erts_check_io_interrupt(itp->pollset, 1); + /* The port task handle is reset inside task_executed */ + erts_io_notify_port_task_executed(ptp->type, ptp->u.alive.handle, + reset_port_task_handle); } } |