glibc/conform/data/semaphore.h-data
Joseph Myers 085e07db22 conformtest: Allow time.h inclusion from semaphore.h for XOPEN2K.
POSIX.1:2001 added sem_timedwait, but said nothing about defining
struct timespec in semaphore.h.  The 2008 edition added a
corresponding permission to include <time.h> from <semaphore.h>.
Since this is the normal POSIX approach in such cases, it seems
appropriate to consider this a bug fix, and so this patch makes the
conform/ tests allow that inclusion for POSIX.1:2001 as well.

Tested for x86_64.

	* conform/data/semaphore.h-data [XOPEN2K] (time.h): Allow header
	inclusion.
	* conform/Makefile (test-xfail-XOPEN2K/semaphore.h/conform):
	Remove.
2017-04-28 16:52:16 +00:00

33 lines
921 B
Plaintext

#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
type sem_t
constant SEM_FAILED
function int sem_close (sem_t*)
function int sem_destroy (sem_t*)
function int sem_getvalue (sem_t*, int*)
function int sem_init (sem_t*, int, unsigned int)
function {sem_t*} sem_open (const char*, int, ...)
function int sem_post (sem_t*)
# if !defined POSIX && !defined UNIX98
function int sem_timedwait (sem_t*, const struct timespec*)
# endif
function int sem_trywait (sem_t*)
function int sem_unlink (const char*)
function int sem_wait (sem_t*)
allow-header fcntl.h
# if !defined POSIX2008 && !defined XOPEN2K8
allow-header sys/types.h
# endif
// Consider addition of this permission in POSIX.1:2008 as a bug fix,
// so allow for POSIX.1:2001 as well since that includes sem_timedwait.
# if !defined POSIX && !defined UNIX98
allow-header time.h
# endif
allow sem_*
allow SEM_*
allow *_t
#endif