Index: chrome/browser/chromeos/audio_mixer_pulse.cc |
diff --git a/chrome/browser/chromeos/audio_mixer_pulse.cc b/chrome/browser/chromeos/audio_mixer_pulse.cc |
index ddff1358278ed6cc0f4b4765917e2ca5a1522162..42b268a3b77a5c6c5e509307cfcd596a5ccc4395 100644 |
--- a/chrome/browser/chromeos/audio_mixer_pulse.cc |
+++ b/chrome/browser/chromeos/audio_mixer_pulse.cc |
@@ -8,6 +8,7 @@ |
#include "base/logging.h" |
#include "base/task.h" |
+#include "base/threading/thread_restrictions.h" |
namespace chromeos { |
@@ -59,6 +60,11 @@ AudioMixerPulse::AudioMixerPulse() |
AudioMixerPulse::~AudioMixerPulse() { |
PulseAudioFree(); |
if (thread_ != NULL) { |
+ // A ScopedAllowIO object is required to join the thread when calling Stop. |
+ // The worker thread should be idle at this time. |
+ // See http://crosbug.com/11110 for discussion. |
+ base::ThreadRestrictions::ScopedAllowIO allow_io_for_thread_join; |
+ |
thread_->Stop(); |
thread_.reset(); |
} |