Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Side by Side Diff: webrtc/base/task.cc

Issue 1429513004: Switch usage of _DEBUG macro to NDEBUG. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: REBASE Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/base/stringutils.cc ('k') | webrtc/base/taskparent.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 return; 61 return;
62 // Set the start time before starting the task. Otherwise if the task 62 // Set the start time before starting the task. Otherwise if the task
63 // finishes quickly and deletes the Task object, setting start_time_ 63 // finishes quickly and deletes the Task object, setting start_time_
64 // will crash. 64 // will crash.
65 start_time_ = CurrentTime(); 65 start_time_ = CurrentTime();
66 GetRunner()->StartTask(this); 66 GetRunner()->StartTask(this);
67 } 67 }
68 68
69 void Task::Step() { 69 void Task::Step() {
70 if (done_) { 70 if (done_) {
71 #ifdef _DEBUG 71 #if !defined(NDEBUG)
72 // we do not know how !blocked_ happens when done_ - should be impossible. 72 // we do not know how !blocked_ happens when done_ - should be impossible.
73 // But it causes problems, so in retail build, we force blocked_, and 73 // But it causes problems, so in retail build, we force blocked_, and
74 // under debug we assert. 74 // under debug we assert.
75 ASSERT(blocked_); 75 ASSERT(blocked_);
76 #else 76 #else
77 blocked_ = true; 77 blocked_ = true;
78 #endif 78 #endif
79 return; 79 return;
80 } 80 }
81 81
82 // Async Error() was called 82 // Async Error() was called
83 if (error_) { 83 if (error_) {
84 done_ = true; 84 done_ = true;
85 state_ = STATE_ERROR; 85 state_ = STATE_ERROR;
86 blocked_ = true; 86 blocked_ = true;
87 // obsolete - an errored task is not considered done now 87 // obsolete - an errored task is not considered done now
88 // SignalDone(); 88 // SignalDone();
89 89
90 Stop(); 90 Stop();
91 #ifdef _DEBUG 91 #if !defined(NDEBUG)
92 // verify that stop removed this from its parent 92 // verify that stop removed this from its parent
93 ASSERT(!parent()->IsChildTask(this)); 93 ASSERT(!parent()->IsChildTask(this));
94 #endif 94 #endif
95 return; 95 return;
96 } 96 }
97 97
98 busy_ = true; 98 busy_ = true;
99 int new_state = Process(state_); 99 int new_state = Process(state_);
100 busy_ = false; 100 busy_ = false;
101 101
(...skipping 16 matching lines...) Expand all
118 } else if (new_state == STATE_ERROR) { 118 } else if (new_state == STATE_ERROR) {
119 done_ = true; 119 done_ = true;
120 error_ = true; 120 error_ = true;
121 } 121 }
122 122
123 if (done_) { 123 if (done_) {
124 // obsolete - call this yourself 124 // obsolete - call this yourself
125 // SignalDone(); 125 // SignalDone();
126 126
127 Stop(); 127 Stop();
128 #if _DEBUG 128 #if !defined(NDEBUG)
129 // verify that stop removed this from its parent 129 // verify that stop removed this from its parent
130 ASSERT(!parent()->IsChildTask(this)); 130 ASSERT(!parent()->IsChildTask(this));
131 #endif 131 #endif
132 blocked_ = true; 132 blocked_ = true;
133 } 133 }
134 } 134 }
135 135
136 void Task::Abort(bool nowake) { 136 void Task::Abort(bool nowake) {
137 // Why only check for done_ (instead of "aborted_ || done_")? 137 // Why only check for done_ (instead of "aborted_ || done_")?
138 // 138 //
139 // If aborted_ && !done_, it means the logic for aborting still 139 // If aborted_ && !done_, it means the logic for aborting still
140 // needs to be executed (because busy_ must have been true when 140 // needs to be executed (because busy_ must have been true when
141 // Abort() was previously called). 141 // Abort() was previously called).
142 if (done_) 142 if (done_)
143 return; 143 return;
144 aborted_ = true; 144 aborted_ = true;
145 if (!busy_) { 145 if (!busy_) {
146 done_ = true; 146 done_ = true;
147 blocked_ = true; 147 blocked_ = true;
148 error_ = true; 148 error_ = true;
149 149
150 // "done_" is set before calling "Stop()" to ensure that this code 150 // "done_" is set before calling "Stop()" to ensure that this code
151 // doesn't execute more than once (recursively) for the same task. 151 // doesn't execute more than once (recursively) for the same task.
152 Stop(); 152 Stop();
153 #ifdef _DEBUG 153 #if !defined(NDEBUG)
154 // verify that stop removed this from its parent 154 // verify that stop removed this from its parent
155 ASSERT(!parent()->IsChildTask(this)); 155 ASSERT(!parent()->IsChildTask(this));
156 #endif 156 #endif
157 if (!nowake) { 157 if (!nowake) {
158 // WakeTasks to self-delete. 158 // WakeTasks to self-delete.
159 // Don't call Wake() because it is a no-op after "done_" is set. 159 // Don't call Wake() because it is a no-op after "done_" is set.
160 // Even if Wake() did run, it clears "blocked_" which isn't desireable. 160 // Even if Wake() did run, it clears "blocked_" which isn't desireable.
161 GetRunner()->WakeTasks(); 161 GetRunner()->WakeTasks();
162 } 162 }
163 } 163 }
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 ResetTimeout(); 272 ResetTimeout();
273 } 273 }
274 } 274 }
275 275
276 int Task::OnTimeout() { 276 int Task::OnTimeout() {
277 // by default, we are finished after timing out 277 // by default, we are finished after timing out
278 return STATE_DONE; 278 return STATE_DONE;
279 } 279 }
280 280
281 } // namespace rtc 281 } // namespace rtc
OLDNEW
« no previous file with comments | « webrtc/base/stringutils.cc ('k') | webrtc/base/taskparent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698