mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Mac/Linux: Fix deadlock in network change notifier
This commit is contained in:
@@ -244,4 +244,10 @@ patches = [
|
||||
'name': 'net_filter_515',
|
||||
'path': '../net/',
|
||||
},
|
||||
{
|
||||
# Fix deadlock in network change notifier on OS X and Linux.
|
||||
# https://code.google.com/p/chromium/issues/detail?id=125097#c17
|
||||
'name': 'network_change_125097',
|
||||
'path': '../net/base/',
|
||||
},
|
||||
]
|
||||
|
35
patch/patches/network_change_125097.patch
Normal file
35
patch/patches/network_change_125097.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
diff --git address_tracker_linux.cc address_tracker_linux.cc
|
||||
index 58a122f..8514790 100644
|
||||
--- address_tracker_linux.cc
|
||||
+++ address_tracker_linux.cc
|
||||
@@ -221,7 +221,7 @@ void AddressTrackerLinux::Init() {
|
||||
{
|
||||
AddressTrackerAutoLock lock(*this, connection_type_lock_);
|
||||
connection_type_initialized_ = true;
|
||||
- connection_type_initialized_cv_.Signal();
|
||||
+ connection_type_initialized_cv_.Broadcast();
|
||||
}
|
||||
|
||||
if (tracking_) {
|
||||
@@ -240,7 +240,7 @@ void AddressTrackerLinux::AbortAndForceOnline() {
|
||||
AddressTrackerAutoLock lock(*this, connection_type_lock_);
|
||||
current_connection_type_ = NetworkChangeNotifier::CONNECTION_UNKNOWN;
|
||||
connection_type_initialized_ = true;
|
||||
- connection_type_initialized_cv_.Signal();
|
||||
+ connection_type_initialized_cv_.Broadcast();
|
||||
}
|
||||
|
||||
AddressTrackerLinux::AddressMap AddressTrackerLinux::GetAddressMap() const {
|
||||
diff --git network_change_notifier_mac.cc network_change_notifier_mac.cc
|
||||
index 4468c0b..bd1f2d8 100644
|
||||
--- network_change_notifier_mac.cc
|
||||
+++ network_change_notifier_mac.cc
|
||||
@@ -157,7 +157,7 @@ void NetworkChangeNotifierMac::SetInitialConnectionType() {
|
||||
base::AutoLock lock(connection_type_lock_);
|
||||
connection_type_ = connection_type;
|
||||
connection_type_initialized_ = true;
|
||||
- initial_connection_type_cv_.Signal();
|
||||
+ initial_connection_type_cv_.Broadcast();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user