Changeset 5667dca in mainline for kernel/generic/src/udebug/udebug.c


Ignore:
Timestamp:
2019-10-02T12:36:33Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0a201454
Parents:
9dcf472
git-author:
Jiri Svoboda <jiri@…> (2019-10-01 18:38:27)
git-committer:
Jiri Svoboda <jiri@…> (2019-10-02 12:36:33)
Message:

Do not block faulted task until debugger exits

If a task faults while a debugger (such as trace) is attached, we must
not block the task until the debugger exits (trace waits for task to
exit). It is sufficient to wait for a debugger to start, because
the task gets blocked in udebug_stoppable_end() (since the task is
not GO).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/udebug/udebug.c

    r9dcf472 r5667dca  
    479479        mutex_unlock(&THREAD->udebug.lock);
    480480
    481         /* Make sure the debugging session is over before proceeding. */
    482         mutex_lock(&THREAD->udebug.lock);
    483         while (THREAD->udebug.active)
    484                 condvar_wait(&THREAD->udebug.active_cv, &THREAD->udebug.lock);
    485         mutex_unlock(&THREAD->udebug.lock);
    486 
     481        /*
     482         * This is where we will typically block until a post-mortem debugger
     483         * terminates the debugging session.
     484         */
    487485        udebug_stoppable_end();
    488486}
Note: See TracChangeset for help on using the changeset viewer.