Rev 4384 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4384 | Rev 4386 | ||
---|---|---|---|
Line 135... | Line 135... | ||
135 | call_t *db_call, *go_call; |
135 | call_t *db_call, *go_call; |
136 | 136 | ||
137 | ASSERT(THREAD); |
137 | ASSERT(THREAD); |
138 | ASSERT(TASK); |
138 | ASSERT(TASK); |
139 | 139 | ||
140 | /* Early check for undebugged tasks */ |
- | |
141 | if (!udebug_thread_precheck()) { |
- | |
142 | return; |
- | |
143 | } |
- | |
144 | - | ||
145 | mutex_lock(&TASK->udebug.lock); |
140 | mutex_lock(&TASK->udebug.lock); |
146 | 141 | ||
147 | nsc = --TASK->udebug.not_stoppable_count; |
142 | nsc = --TASK->udebug.not_stoppable_count; |
148 | 143 | ||
149 | /* Lock order OK, THREAD->udebug.lock is after TASK->udebug.lock */ |
144 | /* Lock order OK, THREAD->udebug.lock is after TASK->udebug.lock */ |
Line 200... | Line 195... | ||
200 | * This is the point where the thread will block if it is stopped. |
195 | * This is the point where the thread will block if it is stopped. |
201 | * (As, by definition, a stopped thread must not leave its stoppable section). |
196 | * (As, by definition, a stopped thread must not leave its stoppable section). |
202 | */ |
197 | */ |
203 | void udebug_stoppable_end(void) |
198 | void udebug_stoppable_end(void) |
204 | { |
199 | { |
205 | /* Early check for undebugged tasks */ |
- | |
206 | if (!udebug_thread_precheck()) { |
- | |
207 | return; |
- | |
208 | } |
- | |
209 | - | ||
210 | restart: |
200 | restart: |
211 | mutex_lock(&TASK->udebug.lock); |
201 | mutex_lock(&TASK->udebug.lock); |
212 | mutex_lock(&THREAD->udebug.lock); |
202 | mutex_lock(&THREAD->udebug.lock); |
213 | 203 | ||
214 | if (THREAD->udebug.active && THREAD->udebug.go == false) { |
204 | if (THREAD->udebug.active && THREAD->udebug.go == false) { |