Message ID | fa5cbfa5e0ca86e2143346068c9b99856cdded0c.1671932405.git.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | win32: close handles of threads that have been joined | expand |
"Seija Kijin via GitGitGadget" <gitgitgadget@gmail.com> writes: > diff --git a/compat/win32/pthread.c b/compat/win32/pthread.c > index 65e15a560d5..83e088dff0a 100644 > --- a/compat/win32/pthread.c > +++ b/compat/win32/pthread.c > @@ -41,10 +41,13 @@ int win32_pthread_join(pthread_t *thread, void **value_ptr) > case WAIT_OBJECT_0: > if (value_ptr) > *value_ptr = thread->arg; > + CloseHandle(thread->handle); > return 0; > case WAIT_ABANDONED: > + CloseHandle(thread->handle); > return EINVAL; > default: > + /* the wait failed, so do not detach */ > return err_win_to_posix(GetLastError()); > } > } This matches what got an Ack from J6t in v7, so I'll queue with Acked-by: added. Thanks.
diff --git a/compat/win32/pthread.c b/compat/win32/pthread.c index 65e15a560d5..83e088dff0a 100644 --- a/compat/win32/pthread.c +++ b/compat/win32/pthread.c @@ -41,10 +41,13 @@ int win32_pthread_join(pthread_t *thread, void **value_ptr) case WAIT_OBJECT_0: if (value_ptr) *value_ptr = thread->arg; + CloseHandle(thread->handle); return 0; case WAIT_ABANDONED: + CloseHandle(thread->handle); return EINVAL; default: + /* the wait failed, so do not detach */ return err_win_to_posix(GetLastError()); } }