diff options
author | David Klempner <klempner@google.com> | 2015-02-18 17:00:31 -0800 |
---|---|---|
committer | David Klempner <klempner@google.com> | 2015-02-18 17:00:31 -0800 |
commit | 7f43eaf365334f2c394e5e5c2b6e0777c72beaaa (patch) | |
tree | 4a0b2c666b3e9dd59cdb878b06547bbcefbea137 /src/node/index.js | |
parent | fb89ee38d5d464a48b9866d7c7941976a031e8fb (diff) |
Ensure there is no concurrent poller for unary->multipoll
The race here is:
Initially unary poller has one FD, FD_1
Thread 1 adds FD_2, promoting to multipoll, entailing epoll_ctl on FD_1
and FD_2.
Concurrently, Thread 2 returns from unary poll and executes one of
FD_1's callbacks, which ultimately leads to a close(FD_1) which races
with the epoll_ctl by thread 1.
The solution is to ensure that we don't concurrently poll and promote,
which requires a bit of extra care.
Diffstat (limited to 'src/node/index.js')
0 files changed, 0 insertions, 0 deletions