Am Sonntag, den 07.09.2014, 10:24 -0400 schrieb Rich Felker: > > diff --git a/src/thread/thrd_current.c b/src/thread/thrd_current.c > > new file mode 100644 > > index 0000000..d9dabde > > --- /dev/null > > +++ b/src/thread/thrd_current.c > > @@ -0,0 +1,11 @@ > > +#include "pthread_impl.h" > > +#include > > + > > +/* Not all arch have __pthread_self as a symbol. On some this results > > + in some magic. So this "call" to __pthread_self is not necessary a > > + tail call. In particular, other than the appearance, thrd_current > > + can not be implemented as a weak symbol. */ > > +thrd_t thrd_current() > > +{ > > + return __pthread_self(); > > +} > > Moved this to an alias. Did you read the comment? I think that this would be a bug. As the comment indicates, there is at least one arch variant that hasn't a symbol __pthread_self so you can't use that as an alias. > > diff --git a/src/time/thrd_sleep.c b/src/time/thrd_sleep.c > > index 3dbfe47..d8eaafd 100644 > > --- a/src/time/thrd_sleep.c > > +++ b/src/time/thrd_sleep.c > > @@ -5,21 +5,21 @@ > > #include "threads.h" > > > > /* Roughly __syscall already returns the right thing: 0 if all went > > - well or a negative error indication, otherwise. */ > > + * well or a negative error indication, otherwise. */ > > int thrd_sleep(const struct timespec *req, struct timespec *rem) > > { > > int ret = __syscall(SYS_nanosleep, req, rem); > > switch (ret) { > > case 0: > > return 0; > > - /* error described by POSIX: */ > > - /* EINTR The nanosleep() function was interrupted by a signal. */ > > - /* The C11 wording is: */ > > - /* -1 if it has been interrupted by a signal */ > > + /* error described by POSIX: > > + * EINTR The nanosleep() function was interrupted by a signal. > > + * The C11 wording is: > > + * -1 if it has been interrupted by a signal */ > > case -EINTR: > > return -1; > > - /* EINVAL: described by POSIX */ > > - /* EFAULT: described for linux */ > > + /* EINVAL: described by POSIX > > + * EFAULT: described for linux */ > > default: > > return -2; > > } > > -- > > 1.7.10.4 > > This diff didn't apply since I didn't add the original version, but I > think leaving it as two commits like you did was unintended anyway. > I'm applying roughly the new version, but with some fixups to include > directives, and less detail in comments. > > BTW looking at the spec again, I see that C11 does not seem to require > the negative return value for other errors to be distinct from -1. oh, yes > Obviously it's desirable to be distinct though. Perhaps this should be > filed as another bug against C11, if you don't have it on your list > already... what a mess Jens -- :: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS ::: :: ::::::::::::::: office Strasbourg : +33 368854536 :: :: :::::::::::::::::::::: gsm France : +33 651400183 :: :: ::::::::::::::: gsm international : +49 15737185122 :: :: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::