diff options
| author | Seija Kijin <doremylover123@gmail.com> | 2023-01-03 16:20:19 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-01-04 15:39:47 +0900 |
| commit | 238a9dfe86d18214bc0b8be079feee01a2fdc407 (patch) | |
| tree | 70de32572714999b83f062fd965e00cf173e5a7f | |
| parent | win32: prepare pthread.c for change by formatting (diff) | |
| download | git-238a9dfe86d18214bc0b8be079feee01a2fdc407.tar.gz git-238a9dfe86d18214bc0b8be079feee01a2fdc407.zip | |
win32: close handles of threads that have been joined
After the thread terminates, the handle to the
original thread should be closed.
This change makes win32_pthread_join POSIX compliant.
Signed-off-by: Seija Kijin <doremylover123@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | compat/win32/pthread.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compat/win32/pthread.c b/compat/win32/pthread.c index cf53bc61d8..85f8f7920c 100644 --- a/compat/win32/pthread.c +++ b/compat/win32/pthread.c @@ -42,10 +42,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()); } } |
