Fix race condition in event_subscriber.h
This commit is contained in:
parent
d09e8cc37f
commit
68bceb9575
1 changed files with 7 additions and 0 deletions
|
@ -73,6 +73,13 @@ class EventSubscriber : internal::EventSubscriberBase {
|
|||
content::BrowserThread::UI, FROM_HERE,
|
||||
base::Bind(
|
||||
[](EventSubscriber<HandlerType>* subscriber) {
|
||||
{
|
||||
// It is possible that this function will execute in the UI
|
||||
// thread before the outer function has returned and destroyed
|
||||
// its auto_lock. We need to acquire the lock before deleting
|
||||
// or risk a crash.
|
||||
base::AutoLock auto_lock(subscriber->handler_lock_);
|
||||
}
|
||||
delete subscriber;
|
||||
},
|
||||
ptr));
|
||||
|
|
Loading…
Reference in a new issue