git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] Mark win32's pthread_exit() as NORETURN

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 1, 2016, 19:44 UTC
Message-ID
<xmqqio166l0n.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<56D5EEE2.3080100@kdbg.org>
Johannes Sixt <j6t@kdbg.org> writes:
Show 14 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.":
>>
>> 	https://msdn.microsoft.com/en-us/library/windows/desktop/ms682659
>
> This is misleading: MSDN marks all functions declared void as "does
> not return a value," for example, look at EnterCriticalSection:
>
> https://msdn.microsoft.com/en-us/library/windows/desktop/ms682608
>
> For this reason, I actually prefer your version 1 patch without the
> explanation.
;-)
Show 11 quoted lines
>> -static inline int pthread_exit(void *ret)
>> +static inline int NORETURN pthread_exit(void *ret)
>
> I would have written it as
>
> #ifdef __GNUC__
> __attribute__((__noreturn__))
> #endif
> static inline int pthread_exit(void *ret) ...
>
> but I can live with your version as long as it compiles.

Either way, let's make sure that the final version returns "void", cf.

http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_exit.html
Thanks.
Previous: Johannes SixtNext: Johannes Schindelin
Message 9 of 12 in “Mark win32's pthread_exit() as NORETURN”
  1. Mark win32's pthread_exit() as NORETURNJohannes Schindelin, Mar 1, 2016
  2. Jeff KingMar 1, 2016
  3. Johannes SchindelinMar 1, 2016
  4. Mark win32's pthread_exit() as NORETURNJohannes Schindelin, Mar 1, 2016
  5. stefan.naewe@atlas-elektronik.comMar 1, 2016
  6. Junio C HamanoMar 1, 2016
  7. Johannes SchindelinMar 2, 2016
  8. Johannes SixtMar 1, 2016
  9. Junio C HamanoMar 1, 2016
  10. Johannes SchindelinMar 2, 2016
  11. Mark win32's pthread_exit() as NORETURNJohannes Schindelin, Mar 2, 2016
  12. Junio C HamanoMar 2, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.