f0bf2143f6
Summary: - I noticed 'pthread_rwlock test' in ostest sometimes stops - This issue happened with spresense:wifi_smp (NCPUS=4) and sim:smp - Finally, I found an issue in pthread_join() - In pthread_join(), sched_lock() is used to avoid pre-emption - However, this is not enough for SMP - Because another CPU would continue the pthread and exit sequences - So we need to protect it with a critical section Impact: - Affect SMP only Testing: - Tested with ostest with the following configurations - spresnese:smp - spresense:wifi_smp (NCPUS=2, NCPUS=4) - sabre-6quad:smp (QEMU) - esp32-core:smp (QEMU) - maix-bit:smp (QEMU) - sim:smp - lc823450-xgevk:rndis Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com> |
||
---|---|---|
.. | ||
Make.defs | ||
pthread_cancel.c | ||
pthread_cleanup.c | ||
pthread_completejoin.c | ||
pthread_condbroadcast.c | ||
pthread_condclockwait.c | ||
pthread_condsignal.c | ||
pthread_condwait.c | ||
pthread_create.c | ||
pthread_detach.c | ||
pthread_exit.c | ||
pthread_findjoininfo.c | ||
pthread_getaffinity.c | ||
pthread_getschedparam.c | ||
pthread_initialize.c | ||
pthread_join.c | ||
pthread_kill.c | ||
pthread_mutex.c | ||
pthread_mutexconsistent.c | ||
pthread_mutexdestroy.c | ||
pthread_mutexinconsistent.c | ||
pthread_mutexinit.c | ||
pthread_mutextimedlock.c | ||
pthread_mutextrylock.c | ||
pthread_mutexunlock.c | ||
pthread_release.c | ||
pthread_setaffinity.c | ||
pthread_setschedparam.c | ||
pthread_setschedprio.c | ||
pthread_sigmask.c | ||
pthread.h |