From: Jeff King Date: Tue, 01 Mar 2016 13:57:09 GMT Subject: Re: [PATCH] Mark win32's pthread_exit() as NORETURN Message-ID: <20160301135708.GA29303@sigill.intra.peff.net> In-Reply-To: <69eef72cfc77e62ad7ad17c6df5f2d2396c64991.1456840324.git.johannes.schindelin@gmx.de> On Tue, Mar 01, 2016 at 02:53:04PM +0100, Johannes Schindelin wrote: > The pthread_exit() function is not expected to return. Ever. > > Pointed out by Jeff King. > > Signed-off-by: Johannes Schindelin > --- > 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); > } Looks obviously correct to me (I'll assume Windows isn't so crazy as to let ExitThread ever return :) ). -Peff > -- > 2.7.2.windows.1.5.g64acc33