Furi Thread: fixed furi_thread_join, check if thread has not been started (#1803)

* furi thread: fixed furi_thread_join, check if thread has not been started
* Furi: correct returns in furi_thread_join

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Sergey Gavrilov 2022-09-29 20:42:15 +10:00 committed by GitHub
parent bcfb12bf28
commit aba20b6af8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -209,11 +209,17 @@ bool furi_thread_join(FuriThread* thread) {
furi_check(furi_thread_get_current() != thread); furi_check(furi_thread_get_current() != thread);
// Check if thread was started
if(thread->task_handle == NULL) {
return false;
}
// Wait for thread to stop
while(eTaskGetState(thread->task_handle) != eDeleted) { while(eTaskGetState(thread->task_handle) != eDeleted) {
furi_delay_ms(10); furi_delay_ms(10);
} }
return FuriStatusOk; return true;
} }
FuriThreadId furi_thread_get_id(FuriThread* thread) { FuriThreadId furi_thread_get_id(FuriThread* thread) {