Re: [PATCH v2] Mark win32's pthread_exit() as NORETURN
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 1, 2016, 17:57 UTC
- Message-ID
- <xmqq60x684j3.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <56D5A955.8010904@atlas-elektronik.com>
<stefan.naewe@atlas-elektronik.com> writes:
Show 8 quoted lines
> Am 01.03.2016 um 15:13 schrieb Johannes Schindelin: >> The pthread_exit() function is not expected to return. Ever. On Windows, >> we call ExitThread() whose documentation claims: "This function does not >> return a value.": > > Does this really mean that ExitThread() does not return ? > > Just wondering...
;-).
That made me re-read the patch and notice another thing... Dscho, I think you would need s/int/void/, too, no?
Show 31 quoted lines
>
>> https://msdn.microsoft.com/en-us/library/windows/desktop/ms682659
>>
>> Pointed out by Jeff King.
>>
>> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
>> ---
>>
>> Relative to v1, only the commit message changed (to clarify that
>> ExitThread() indeed never returns).
>>
>> compat/win32/pthread.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/compat/win32/pthread.h b/compat/win32/pthread.h
>> index 20b35a2..148db60 100644
>> --- a/compat/win32/pthread.h
>> +++ b/compat/win32/pthread.h
>> @@ -78,7 +78,7 @@ extern int win32_pthread_join(pthread_t *thread, void **value_ptr);
>> #define pthread_equal(t1, t2) ((t1).tid == (t2).tid)
>> extern pthread_t pthread_self(void);
>>
>> -static inline int pthread_exit(void *ret)
>> +static inline int NORETURN pthread_exit(void *ret)
>> {
>> ExitThread((DWORD)(intptr_t)ret);
>> }
>> --
>
>
> Stefan