summaryrefslogtreecommitdiffstats
path: root/base/critical_closure_ios.mm
diff options
context:
space:
mode:
authorqsr@chromium.org <qsr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-20 19:48:38 +0000
committerqsr@chromium.org <qsr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-20 19:48:38 +0000
commit37b63f556570e9abfc52bad7f2f8780654eb8ffb (patch)
tree81582736dd313ffc541dcdb4d204cfa1808b4eb3 /base/critical_closure_ios.mm
parentee874978ffb340faf7c57ba84c5c0285962476ac (diff)
downloadchromium_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.mm5
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);
};