This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Sebastian, On Mar 9 14:03, Sebastian Huber wrote: > Import the latest <semaphore.h> from FreeBSD and adjust it for RTEMS. > The OpenMP support from GCC (libgomp) needs a <semaphore.h>. Apart from the maverick implementation in libc/sys/linux, we don't have any semaphore implementation. This, plus the fact that the type of sem_t is implementaiton-specific, makes me a bit reluctant to include this header in newlib. On some systems sizeof(sem_t) is pointer sized. If we add semaphore.h, we should make the definition of sem_t conditional somehow, so e.g. Cygwin can reuse this file, removing its own. Kind of like this: > +#ifndef _SEMAPHORE_H_ > +#define _SEMAPHORE_H_ > + > +#include <sys/cdefs.h> > +#include <sys/_types.h> > + #ifdef __CYGWIN__ #ifndef __INSIDE_CYGWIN__ #endif #elif defined (...) [...] #else /* Fallback, as on BSDs */ > +typedef __uint32_t sem_t; #endif > + > +#define SEM_FAILED ((sem_t *)0) > +#define SEM_VALUE_MAX (__INT_MAX__ * 2U + 1U) Should the definition of SEM_VALUE_MAX be __BSD_VISIBLE? It's not a definition required or even mentioned in POSIX. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
Attachment:
pgpee0V2AXXlr.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |