diff options
author | qsr@chromium.org <qsr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-20 19:48:38 +0000 |
---|---|---|
committer | qsr@chromium.org <qsr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-20 19:48:38 +0000 |
commit | 37b63f556570e9abfc52bad7f2f8780654eb8ffb (patch) | |
tree | 81582736dd313ffc541dcdb4d204cfa1808b4eb3 /base/critical_closure_ios.mm | |
parent | ee874978ffb340faf7c57ba84c5c0285962476ac (diff) | |
download | chromium_src-37b63f556570e9abfc52bad7f2f8780654eb8ffb.zip chromium_src-37b63f556570e9abfc52bad7f2f8780654eb8ffb.tar.gz chromium_src-37b63f556570e9abfc52bad7f2f8780654eb8ffb.tar.bz2 |
The ScopedCriticalAction in CriticalClosure should not be resetted.
Resetting the ScopedCriticalAction after the closure in run prevent the
closure to be used more than once, even if it is copied.
BUG=222376
R=stuartmorgan@chromium.org
TBR=mark@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12653009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189367 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/critical_closure_ios.mm')
-rw-r--r-- | base/critical_closure_ios.mm | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/base/critical_closure_ios.mm b/base/critical_closure_ios.mm index 156612b..d605cad 100644 --- a/base/critical_closure_ios.mm +++ b/base/critical_closure_ios.mm @@ -18,13 +18,10 @@ namespace { class CriticalClosure : public base::RefCountedThreadSafe<CriticalClosure> { public: explicit CriticalClosure(base::Closure* closure) : closure_(closure) { - background_scope_.reset(new base::ios::ScopedCriticalAction()); } void Run() { closure_->Run(); - - background_scope_.reset(); } private: @@ -32,8 +29,8 @@ class CriticalClosure : public base::RefCountedThreadSafe<CriticalClosure> { virtual ~CriticalClosure() {} + base::ios::ScopedCriticalAction criticial_action_; scoped_ptr<base::Closure> closure_; - scoped_ptr<base::ios::ScopedCriticalAction> background_scope_; DISALLOW_COPY_AND_ASSIGN(CriticalClosure); }; |