diff options
| author | 2021-05-19 15:25:34 -0700 | |
|---|---|---|
| committer | 2021-05-19 17:04:12 -0700 | |
| commit | 436f0e6d584218c5e277aa4a822377214d6eed49 (patch) | |
| tree | 95f19732ad9e56807331585b5e5f8e1421147205 /libs/gui/QueueBufferInputOutput.cpp | |
| parent | fc907867715677495d14173e1ae6f67cc09531f3 (diff) | |
~RpcServer() calls shutdown explicitly.
If a thread is calling RpcServer::join() and poll()-ing,
when ~RpcServer() is called, the first thing it does
is deleting mJoinShutdownTrigger, which will close the
read end first.
poll(2):
For a discussion of what may happen if a file descriptor being
monitored by poll() is closed in another thread, see select(2).
select(2):
If a file descriptor being monitored by select() is closed in
another thread, the result is unspecified.
To avoid relying on UB, properly shut down before closing these fds.
Test: binderRpcTest
Test: binderLibTest
Bug: 182914638
Change-Id: Id689fa31e6cbf055f6c60a443e8f4ad0dae7ceb1
Diffstat (limited to 'libs/gui/QueueBufferInputOutput.cpp')
0 files changed, 0 insertions, 0 deletions