From: "Rose via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Johannes Sixt" <j6t@kdbg.org>,
Rose <83477269+AtariDreams@users.noreply.github.com>
Subject: [PATCH v6 0/2] win32: close handles of threads that have been joined
Date: Wed, 21 Dec 2022 04:35:15 +0000 [thread overview]
Message-ID: <pull.1406.v6.git.git.1671597317.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1406.v5.git.git.1671571084753.gitgitgadget@gmail.com>
After joining threads, the handle to the original thread should be closed as
it no longer needs to be open.
Signed-off-by: Seija Kijin doremylover123@gmail.com
Seija Kijin (2):
win32: close handles of threads that have been joined
prep
compat/win32/pthread.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
base-commit: 7c2ef319c52c4997256f5807564523dfd4acdfc7
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1406%2FAtariDreams%2Fjoin-v6
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1406/AtariDreams/join-v6
Pull-Request: https://github.com/git/git/pull/1406
Range-diff vs v5:
1: 94ed068d25b ! 1: 0b5afdb93db win32: close handles of threads that have been joined
@@ Commit message
After joining threads, the handle to the original thread
should be closed as it no longer needs to be open.
- Because this only needs to happen if the
- WaitForSingleObject fails, the function was
- rewritten to accommodate this change.
-
- The function is still POSIX compliant.
+ This change makes the function POSIX compliant.
Signed-off-by: Seija Kijin <doremylover123@gmail.com>
@@ compat/win32/pthread.c: int pthread_create(pthread_t *thread, const void *unused
- return EINVAL;
- default:
- return err_win_to_posix(GetLastError());
-+ if (WaitForSingleObject(thread->handle, INFINITE) == WAIT_FAILED)
++ switch (WaitForSingleObject(thread->handle, INFINITE)) {
++ 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 function failed, so do not detach */
+ return err_win_to_posix(GetLastError());
-+
-+ if (value_ptr) {
-+ *value_ptr = thread->arg;
}
-+
-+ CloseHandle(thread->handle);
-+ return 0;
}
- pthread_t pthread_self(void)
-: ----------- > 2: 5b35362e5d2 prep
--
gitgitgadget
next prev parent reply other threads:[~2022-12-21 4:35 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-19 18:34 [PATCH] win32: close handles of threads that have been joined Rose via GitGitGadget
2022-12-19 18:40 ` Ævar Arnfjörð Bjarmason
2022-12-20 7:53 ` Johannes Sixt
2022-12-20 18:57 ` [PATCH v2] " Rose via GitGitGadget
2022-12-20 19:00 ` [PATCH v3] " Rose via GitGitGadget
2022-12-20 20:03 ` [PATCH v4 0/2] " Rose via GitGitGadget
2022-12-20 20:04 ` [PATCH v4 1/2] " Seija Kijin via GitGitGadget
2022-12-20 20:04 ` [PATCH v4 2/2] prep Seija Kijin via GitGitGadget
2022-12-20 21:18 ` [PATCH v5] win32: close handles of threads that have been joined Rose via GitGitGadget
2022-12-20 22:06 ` Johannes Sixt
2022-12-21 4:35 ` Rose via GitGitGadget [this message]
2022-12-21 4:35 ` [PATCH v6 1/2] " Seija Kijin via GitGitGadget
2022-12-21 4:35 ` [PATCH v6 2/2] prep Seija Kijin via GitGitGadget
2022-12-21 4:46 ` [PATCH v7 0/2] win32: close handles of threads that have been joined Rose via GitGitGadget
2022-12-21 4:46 ` [PATCH v7 1/2] " Seija Kijin via GitGitGadget
2022-12-22 7:52 ` Johannes Sixt
2022-12-21 4:46 ` [PATCH v7 2/2] prep Seija Kijin via GitGitGadget
2022-12-22 16:01 ` [PATCH v8] win32: close handles of threads that have been joined Rose via GitGitGadget
2022-12-22 17:17 ` [PATCH v9 0/2] " Rose via GitGitGadget
2022-12-22 17:17 ` [PATCH v9 1/2] " Seija Kijin via GitGitGadget
2022-12-22 17:17 ` [PATCH v9 2/2] prep: reformat pthread.c to fit coding guidelines Seija Kijin via GitGitGadget
2022-12-23 1:51 ` Junio C Hamano
2022-12-23 19:15 ` [PATCH v10 0/2] win32: close handles of threads that have been joined Rose via GitGitGadget
2022-12-23 19:15 ` [PATCH v10 1/2] win32-pthread: prepare pthread.c for change by formatting Seija Kijin via GitGitGadget
2022-12-23 19:15 ` [PATCH v10 2/2] win32: close handles of threads that have been joined Seija Kijin via GitGitGadget
2022-12-23 19:19 ` [PATCH v11 0/2] " Rose via GitGitGadget
2022-12-23 19:19 ` [PATCH v11 1/2] win32-pthread: prepare pthread.c for change by formatting Seija Kijin via GitGitGadget
2022-12-23 19:19 ` [PATCH v11 2/2] win32: close handles of threads that have been joined Seija Kijin via GitGitGadget
2022-12-24 7:50 ` René Scharfe
2022-12-25 1:40 ` [PATCH v12 0/2] " Rose via GitGitGadget
2022-12-25 1:40 ` [PATCH v12 1/2] win32-pthread: prepare pthread.c for change by formatting Seija Kijin via GitGitGadget
2022-12-26 1:32 ` Junio C Hamano
2022-12-25 1:40 ` [PATCH v12 2/2] win32: close handles of threads that have been joined Seija Kijin via GitGitGadget
2022-12-26 2:07 ` Junio C Hamano
2023-01-03 16:20 ` [PATCH v13 0/2] " Rose via GitGitGadget
2023-01-03 16:20 ` [PATCH v13 1/2] win32: prepare pthread.c for change by formatting Seija Kijin via GitGitGadget
2023-01-03 16:20 ` [PATCH v13 2/2] win32: close handles of threads that have been joined Seija Kijin via GitGitGadget
2023-01-05 15:44 ` [PATCH v14 0/2] " Rose via GitGitGadget
2023-01-05 15:44 ` [PATCH v14 1/2] win32: prepare pthread.c for change by formatting Seija Kijin via GitGitGadget
2023-01-05 15:44 ` [PATCH v14 2/2] win32: close handles of threads that have been joined Seija Kijin via GitGitGadget
2023-01-06 12:28 ` [PATCH v14 0/2] " Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1406.v6.git.git.1671597317.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=83477269+AtariDreams@users.noreply.github.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=j6t@kdbg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.