summaryrefslogtreecommitdiff
path: root/libutils/Unicode.cpp
diff options
context:
space:
mode:
authorJosh Gao <jmgao@google.com>2018-03-19 15:19:45 -0700
committerJosh Gao <jmgao@google.com>2018-03-20 13:23:06 -0700
commit1222abc75b7854979e6a9f982004985179bcbede (patch)
treea59925e1da33882d1e9b136f8defd09c9dd241f4 /libutils/Unicode.cpp
parentef454589e4c14e2978e11388d4cc81991182e832 (diff)
adb: make fdevent_run_on_main_thread's fd nonblocking.
If we get a ton of fdevent_run_on_main_thread calls while running one of the handlers, the socket might become full, which will result in a deadlock in fdevent_run_on_main_thread when a write to the fd blocks with the mutex taken. Resolve this by making the fd nonblocking, which is safe because we always write after appending to the list, and read before emptying the list, which guarantees that if the byte we write is consumed, the std::function we appended will be run. Bug: http://b/74616284 Test: adb_test Test: python test_device.py Change-Id: I29319bda2ad7b5a5cdcd91d1d0ddf39f7ab7d115
Diffstat (limited to 'libutils/Unicode.cpp')
0 files changed, 0 insertions, 0 deletions