diff options
author | jknotten@chromium.org <jknotten@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 09:33:56 +0000 |
---|---|---|
committer | jknotten@chromium.org <jknotten@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 09:33:56 +0000 |
commit | b927e9175fa457839b2f01c7d8ac42b6594bb195 (patch) | |
tree | 00ab175d8fc75ace7e6b8c187fa7f7323de2de2f /chrome/chrome_tests.gypi | |
parent | daad332fe27349d8f315b821da27144e5550c1b1 (diff) | |
download | chromium_src-b927e9175fa457839b2f01c7d8ac42b6594bb195.zip chromium_src-b927e9175fa457839b2f01c7d8ac42b6594bb195.tar.gz chromium_src-b927e9175fa457839b2f01c7d8ac42b6594bb195.tar.bz2 |
Fix dbus- and geolocation- related crash on Linux.
The NetworkManagerWlanApi class in wifi_data_provider_linux.cc was
using a shared dbus connection which was referenced as a GSource in
the glib message loop in the main thread, and also from the
WifiDataProviderCommon thread. When the dbus proxy object and connection
was unreferenced in the WifiDataCommon thread, the glib main loop in the
main thread could concurrently reference it during object destruction,
causing a crash.
We fix this by using a private dbus connection instead, referencing its
own glib main loop separate to that of the main thread.
BUG=59913
TEST=GeolocationWifiDataProviderPlatformTest.CreateAndDestroy
Review URL: http://codereview.chromium.org/4307001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65185 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome_tests.gypi')
-rw-r--r-- | chrome/chrome_tests.gypi | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index eb798fe..810655d 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -1282,6 +1282,7 @@ 'browser/extensions/user_script_master_unittest.cc', 'browser/find_backend_unittest.cc', 'browser/first_run/first_run_unittest.cc', + 'browser/geolocation/device_data_provider_unittest.cc', 'browser/geolocation/fake_access_token_store.h', 'browser/geolocation/gateway_data_provider_common_unittest.cc', 'browser/geolocation/geolocation_content_settings_map_unittest.cc', |