adb: partially revert b5e11415.
Revert the write_msg_lock part of commitb5e11415. A write which hangs will hold onto the mutex, preventing the device kick from ever happening, which also causes lots of other stuff to hang, due to Kick being called with the transport lock taken. Bug: 67320882 Test: python test_devices.py Change-Id: Ie7c958799c93cad287c32d6bbef30c07f40c2d51 (cherry picked from commit33d14b8748)
This commit is contained in:
parent
e3585684d9
commit
59dc0ecaaa
3 changed files with 2 additions and 11 deletions
|
|
@ -1237,7 +1237,7 @@ class DeviceOfflineTest(DeviceTest):
|
|||
return m.group(2)
|
||||
return None
|
||||
|
||||
def test_killed_when_pushing_a_large_file(self):
|
||||
def disabled_test_killed_when_pushing_a_large_file(self):
|
||||
"""
|
||||
While running adb push with a large file, kill adb server.
|
||||
Occasionally the device becomes offline. Because the device is still
|
||||
|
|
@ -1268,7 +1268,7 @@ class DeviceOfflineTest(DeviceTest):
|
|||
# 4. The device should be online
|
||||
self.assertEqual(self._get_device_state(serialno), 'device')
|
||||
|
||||
def test_killed_when_pulling_a_large_file(self):
|
||||
def disabled_test_killed_when_pulling_a_large_file(self):
|
||||
"""
|
||||
While running adb pull with a large file, kill adb server.
|
||||
Occasionally the device can't be connected. Because the device is trying to
|
||||
|
|
|
|||
|
|
@ -746,9 +746,6 @@ atransport* acquire_one_transport(TransportType type, const char* serial, Transp
|
|||
}
|
||||
|
||||
int atransport::Write(apacket* p) {
|
||||
#if ADB_HOST
|
||||
std::lock_guard<std::mutex> lock(write_msg_lock_);
|
||||
#endif
|
||||
return write_func_(p, this);
|
||||
}
|
||||
|
||||
|
|
@ -756,11 +753,6 @@ void atransport::Kick() {
|
|||
if (!kicked_) {
|
||||
kicked_ = true;
|
||||
CHECK(kick_func_ != nullptr);
|
||||
#if ADB_HOST
|
||||
// On host, adb server should avoid writing part of a packet, so don't
|
||||
// kick a transport whiling writing a packet.
|
||||
std::lock_guard<std::mutex> lock(write_msg_lock_);
|
||||
#endif
|
||||
kick_func_(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -181,7 +181,6 @@ private:
|
|||
std::atomic<ConnectionState> connection_state_;
|
||||
#if ADB_HOST
|
||||
std::deque<std::shared_ptr<RSA>> keys_;
|
||||
std::mutex write_msg_lock_;
|
||||
bool has_send_connect_on_error_ = false;
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue