win32: check for NULL when creating thread
PATCH 1/1 win32: check for NULL when creating thread
From: Seija Kijin <[email protected]>
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
---
win32: check for NULL when creating thread
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1445%2FAtariDreams%2FhThread-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1445/AtariDreams/hThread-v1
Pull-Request: https://github.com/git/git/pull/1445
compat/winansi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
compat/winansi.c +1 -1
@@ -644,7 +644,7 @@ void winansi_init(void)/* start console spool thread on the pipe's read end */ hthread =CreateThread (NULL ,0 , console_thread,NULL ,0 ,NULL ); -if (hthread ==INVALID_HANDLE_VALUE ) +if (!hthread)die_lasterr ("CreateThread(console_thread) failed" );/* schedule cleanup routine */
base-commit: 2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473
Signature · 1 line
gitgitgadget
PATCH v2 1/1 win32: check for NULL after creating thread
From: Seija Kijin <[email protected]>
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
---
win32: check for NULL after creating thread
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1445%2FAtariDreams%2FhThread-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1445/AtariDreams/hThread-v2
Pull-Request: https://github.com/git/git/pull/1445
Range-diff vs v1:
1: e75d15e42f4 ! 1: c956cafdec9 win32: check for NULL when creating thread
@@ Metadata
Author: Seija Kijin <[email protected]>
## Commit message ##
- win32: check for NULL when creating thread
+ win32: check for NULL after creating thread
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
compat/winansi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
compat/winansi.c +1 -1
@@ -644,7 +644,7 @@ void winansi_init(void)/* start console spool thread on the pipe's read end */ hthread =CreateThread (NULL ,0 , console_thread,NULL ,0 ,NULL ); -if (hthread ==INVALID_HANDLE_VALUE ) +if (!hthread)die_lasterr ("CreateThread(console_thread) failed" );/* schedule cleanup routine */
base-commit: 2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473
Signature · 1 line
gitgitgadget
PATCH v3 1/1 win32: check for NULL after creating thread
From: Seija Kijin <[email protected]>
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
---
win32: check for NULL after creating thread
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1445%2FAtariDreams%2FhThread-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1445/AtariDreams/hThread-v3
Pull-Request: https://github.com/git/git/pull/1445
Range-diff vs v2:
1: c956cafdec9 ! 1: 1cbc43e0d82 win32: check for NULL after creating thread
@@ Commit message
as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL,
- not INVALID_HANDLE_VALUE, unlike other Windows
- API functions.
+ not INVALID_HANDLE_VALUE, unlike other Windows API functions.
compat/winansi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
compat/winansi.c +1 -1
@@ -644,7 +644,7 @@ void winansi_init(void)/* start console spool thread on the pipe's read end */ hthread =CreateThread (NULL ,0 , console_thread,NULL ,0 ,NULL ); -if (hthread ==INVALID_HANDLE_VALUE ) +if (!hthread)die_lasterr ("CreateThread(console_thread) failed" );/* schedule cleanup routine */
base-commit: 2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473
Signature · 1 line
gitgitgadget
Re: [PATCH v3] win32: check for NULL after creating thread
Am 01.02.23 um 15:40 schrieb Rose via GitGitGadget:
Quoted 7 lines
From: Seija Kijin <[email protected]>
Check for NULL handles, not "
INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.The return value for failed thread creation is NULL, not
INVALID_HANDLE_VALUE, unlike other Windows API functions.
Nice catch!
The subject line sounds as if an error check was missing, but that is not true. I'd phrase it
compat/winansi: check for errors of CreateThread() correctly
Then drop the first sentence of the message body as it is very handwavy:
talking about "most cases" is not helpful if the few other cases are not enumerated. And the subsequent sentence is to the point and very helpful (substitute "CreateThread" for "thread creation").
Quoted 17 lines
compat/winansi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)compat/winansi.c +1
-1@@ -644,7 +644,7 @@ void winansi_init(void)/* start console spool thread on the pipe's read end */ hthread =CreateThread (NULL ,0 , console_thread,NULL ,0 ,NULL ); -if (hthread ==INVALID_HANDLE_VALUE ) +if (!hthread)die_lasterr ("CreateThread(console_thread) failed" );/* schedule cleanup routine */
Quoted 1 line
base-commit:
2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473
-- Hannes
PATCH v4 1/1 compat/winansi: check for errors of CreateThread() correctly
In reply to Rose via GitGitGadgetFrom: Seija Kijin <[email protected]>
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
---
win32: check for NULL after creating thread
Check for NULL handles, not "INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1445%2FAtariDreams%2FhThread-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1445/AtariDreams/hThread-v4
Pull-Request: https://github.com/git/git/pull/1445
Range-diff vs v3:
1: 1cbc43e0d82 ! 1: 6c4188977e8 win32: check for NULL after creating thread
@@ Metadata
Author: Seija Kijin <[email protected]>
## Commit message ##
- win32: check for NULL after creating thread
-
- Check for NULL handles, not "INVALID_HANDLE,"
- as CreateThread guarantees a valid handle in most cases.
+ compat/winansi: check for errors of CreateThread() correctly
The return value for failed thread creation is NULL, not INVALID_HANDLE_VALUE, unlike other Windows API functions.
compat/winansi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
compat/winansi.c +1 -1
@@ -644,7 +644,7 @@ void winansi_init(void)/* start console spool thread on the pipe's read end */ hthread =CreateThread (NULL ,0 , console_thread,NULL ,0 ,NULL ); -if (hthread ==INVALID_HANDLE_VALUE ) +if (!hthread)die_lasterr ("CreateThread(console_thread) failed" );/* schedule cleanup routine */
base-commit: 2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473
Signature · 1 line
gitgitgadget
Re: [PATCH v4] compat/winansi: check for errors of CreateThread() correctly
Quoted 7 lines · Rose via GitGitGadget
From: Seija Kijin <[email protected]>
The return value for failed thread creation is NULL, not
INVALID_HANDLE_VALUE, unlike other Windows API functions.Signed-off-by Seija Kijin <[email protected]>---
Thanks. Will queue with the Ack by j6t given earlier.
Re: [PATCH v4] compat/winansi: check for errors of CreateThread() correctly
In reply to Rose via GitGitGadgetAm 01.02.23 um 23:20 schrieb Rose via GitGitGadget:
Quoted 55 lines
From: Seija Kijin <[email protected]>
The return value for failed thread creation is NULL, not
INVALID_HANDLE_VALUE, unlike other Windows API functions.Signed-off-by Seija Kijin <[email protected]>---
win32: check for NULL after creating threadCheck for NULL handles, not "
INVALID_HANDLE," as CreateThread guarantees a valid handle in most cases.The return value for failed thread creation is NULL, not
INVALID_HANDLE_VALUE, unlike other Windows API functions.Signed-off-by Seija Kijin [email protected]Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1445%2FAtariDreams%2FhThread-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1445/AtariDreams/hThread-v4
Pull-Request: https://github.com/git/git/pull/1445Range-diff vs v3:
1:
1cbc43e0d82! 1:6c4188977e8win32: check for NULL after creating thread
@@ Metadata
Author: Seija Kijin <[email protected]>## Commit message ##
- win32: check for NULL after creating thread
-
- Check for NULL handles, not "INVALID_HANDLE,"
- as CreateThread guarantees a valid handle in most cases.
+ compat/winansi: check for errors ofCreateThread()correctlyThe return value for failed thread creation is NULL, not
INVALID_HANDLE_VALUE, unlike other Windows API functions.compat/winansi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)compat/winansi.c +1
-1@@ -644,7 +644,7 @@ void winansi_init(void)/* start console spool thread on the pipe's read end */ hthread =CreateThread (NULL ,0 , console_thread,NULL ,0 ,NULL ); -if (hthread ==INVALID_HANDLE_VALUE ) +if (!hthread)die_lasterr ("CreateThread(console_thread) failed" );/* schedule cleanup routine */
Quoted 1 line
base-commit:
2fc9e9ca3c7505bc60069f11e7ef09b1aeeee473
This iteration looks good, thank you!
-- Hannes