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

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

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Mar 2, 2016, 19:10 UTC
Message-ID
<alpine.DEB.2.20.1603022008240.3152@virtualbox>
In-Reply-To
<xmqqio166l0n.fsf@gitster.mtv.corp.google.com>
Hi,
On Tue, 1 Mar 2016, Junio C Hamano wrote:
Show 18 quoted lines
> Johannes Sixt <j6t@kdbg.org> writes:
> 
> > 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.
> 
> ;-)

Well, I really like to have that link so I can find it very easily myself by simply inspecting the Git log. And the explanation itself was easily fixed.

Show 17 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
Fixed, too, in the upcoming v3.

Ciao, Dscho

Previous: Junio C HamanoNext: Johannes Schindelin
Message 10 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.