Am Samstag, den 30.08.2014, 20:35 -0400 schrieb Rich Felker: > On Sat, Aug 30, 2014 at 08:47:22PM +0200, Jens Gustedt wrote: > > diff --git a/src/thread/cnd_destroy.c b/src/thread/cnd_destroy.c > > new file mode 100644 > > index 0000000..7c24d1a > > --- /dev/null > > +++ b/src/thread/cnd_destroy.c > > @@ -0,0 +1,5 @@ > > +#include > > + > > +void (cnd_destroy)(cnd_t *cnd) { > > + /* For private cv this is a no-op */ > > +} > > Is there a reason for the parens around the name? I'm assuming it was > related to a macro definition at some point, but we don't have one now > and it seems unlikely that it would be desirable to define away the > destroy call to a NOP, in case we ever want to switch to an > implementation where NOP is not suitable. you are assuming correctly, I'll eliminate these > > diff --git a/src/thread/cnd_init.c b/src/thread/cnd_init.c > > new file mode 100644 > > index 0000000..c8aaee5 > > --- /dev/null > > +++ b/src/thread/cnd_init.c > > @@ -0,0 +1,9 @@ > > +#include > > + > > +int cnd_init(cnd_t * c) > > +{ > > + *c = (cnd_t) { > > + 0 > > + }; > > + return thrd_success; > > +} > > Just style, but generally we use {0} or { 0 } all on one line as a > zero-initializer. I would refrain from using multi-line unless (1) > we're using designated initializers, not just a universal zero > initializer, and (2) multi-line is actually needed for clarity or to > avoid exceeding 80 columns. yes, this time its not me but astyle that produced that. I was just tired of cleaning up behind it. > > diff --git a/src/thread/cnd_signal.c b/src/thread/cnd_signal.c > > new file mode 100644 > > index 0000000..143883c > > --- /dev/null > > +++ b/src/thread/cnd_signal.c > > @@ -0,0 +1,9 @@ > > +#include > > + > > +int __private_cond_signal(cnd_t *, int); > > + > > +int cnd_signal(cnd_t * cnd) { > > + /* This internal function never fails. */ > > + (void)__private_cond_signal(cnd, 1); > > Cast-to-void isn't used in musl source except when it's necessary for > types (e.g. in ?:). No problem with me, I just thought that there are still compilers out there that bark on that. > > + return thrd_success; > > +} > > This would be a candidate for "return thrd_success?thrd_success:ret", > I think. Hm, so this would make this a tail call. On the other hand as it is now this states more clearly that we expect the return value of __private_cond_signal to be irrelevant. Ok, I'll go with the tail call and put a comment about that expectation. 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 ::