From deed0cb2336d879eb55487809928686dfe44b9b1 Mon Sep 17 00:00:00 2001 From: ryancaicse <73822648+ryancaicse@users.noreply.github.com> Date: Fri, 29 Oct 2021 12:10:38 +0800 Subject: [PATCH] Fix some unreleased locks Fix some unreleased locks in pthread.c --- apps/libc/dynamic/pthread/pthread.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/libc/dynamic/pthread/pthread.c b/apps/libc/dynamic/pthread/pthread.c index 297223b2..a1f676cd 100644 --- a/apps/libc/dynamic/pthread/pthread.c +++ b/apps/libc/dynamic/pthread/pthread.c @@ -271,6 +271,7 @@ Return Value: &(NewThread->SignalMask)); if (!KSUCCESS(KernelStatus)) { + pthread_mutex_unlock(&(NewThread->StartMutex)); Status = ClConvertKstatusToErrorNumber(KernelStatus); ClpDestroyThreadKeyData(NewThread); ClpDestroyThread(NewThread); @@ -1224,6 +1225,7 @@ Return Value: pthread_testcancel(); Result = Thread->ThreadRoutine(Thread->ThreadParameter); + pthread_mutex_unlock(&(Thread->StartMutex)); pthread_exit(Result); return; }