diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2013-04-23 16:41:43 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2013-04-23 16:41:43 -0600 |
commit | 385413eff99d22658833085adfe30e7e451f57cd (patch) | |
tree | a4ee42b7a39886a95df289c1688acd3b3f94002d /nuttx/sched/os_internal.h | |
parent | 663c80136e271c9a20ab7d820448334ac572275e (diff) | |
download | px4-nuttx-385413eff99d22658833085adfe30e7e451f57cd.tar.gz px4-nuttx-385413eff99d22658833085adfe30e7e451f57cd.tar.bz2 px4-nuttx-385413eff99d22658833085adfe30e7e451f57cd.zip |
Reviewed all task exit logic. For pthread_exit() moved some logic higher in the exit sequence that could be required to block. For lower level logic kicked off by _exit(), add logic to prevent blocking when the task is not in a healthy state.
Diffstat (limited to 'nuttx/sched/os_internal.h')
-rw-r--r-- | nuttx/sched/os_internal.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/nuttx/sched/os_internal.h b/nuttx/sched/os_internal.h index bbfce9696..d13eb9cad 100644 --- a/nuttx/sched/os_internal.h +++ b/nuttx/sched/os_internal.h @@ -265,7 +265,8 @@ int task_schedsetup(FAR struct task_tcb_s *tcb, int priority, start_t start, main_t main, uint8_t ttype); int task_argsetup(FAR struct task_tcb_s *tcb, FAR const char *name, FAR char * const argv[]); int task_exit(void); -void task_exithook(FAR struct tcb_s *tcb, int status); +int task_terminate(pid_t pid, bool nonblocking); +void task_exithook(FAR struct tcb_s *tcb, int status, bool nonblocking); void task_recover(FAR struct tcb_s *tcb); #ifndef CONFIG_CUSTOM_STACK |