| 141 | ****************************************************************************/ |
| 142 | |
| 143 | void quick_exit(int status) |
| 144 | { |
| 145 | /* Mark the pthread as non-cancelable to avoid additional calls to |
| 146 | * pthread_exit() due to any cancellation point logic that might get |
| 147 | * kicked off by actions taken during pthread_exit processing. |
| 148 | */ |
| 149 | |
| 150 | task_setcancelstate(TASK_CANCEL_DISABLE, NULL); |
| 151 | |
| 152 | tls_cleanup_popall(tls_get_info()); |
| 153 | |
| 154 | #if defined(CONFIG_TLS_NELEM) && CONFIG_TLS_NELEM > 0 |
| 155 | tls_destruct(); |
| 156 | #endif |
| 157 | |
| 158 | /* Run the registered exit functions */ |
| 159 | |
| 160 | atexit_call_exitfuncs(status, true); |
| 161 | |
| 162 | /* Then perform the exit */ |
| 163 | |
| 164 | _exit(status); |
| 165 | } |
| 166 | |
| 167 | /**************************************************************************** |
| 168 | * Name: _Exit |
nothing calls this directly
no test coverage detected