patacongo commented on a change in pull request #1187:
URL: https://github.com/apache/incubator-nuttx/pull/1187#discussion_r438270516
##########
File path: sched/pthread/pthread_cleanup.c
##########
@@ -173,8 +165,7 @@ void pthread_cleanup_push(pthread_cleanup_t routine, FAR
void *arg)
*/
sched_lock();
- if ((tcb->cmn.flags & TCB_FLAG_TTYPE_MASK) == TCB_FLAG_TTYPE_PTHREAD &&
- tcb->tos < CONFIG_PTHREAD_CLEANUP_STACKSIZE)
+ if (tcb->tos < CONFIG_PTHREAD_CLEANUP_STACKSIZE)
Review comment:
> because main/kernel thread type is
TCB_FLAG_TTYPE_TASK/TCB_FLAG_TTYPE_KERNEL, but both types should be able to
call pthread_cleanup_push/pthread_cleanup_pop. The major target of whole patch
set is ensure the main/kernel thread can call all most pthread API like pthread.
But kernel threads cannot create pthreads. pthreads reside only in user
space.
What would that even mean in a kernal build. It makes no sense. Which user
space?
No pthread APIs should be availble to kernel threads. That must be
forbidden by the OS. I believe that would result in severe, catastrophic
breakage if permitted.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]