diff options
Diffstat (limited to 'mcon/U/d_semctl.U')
-rw-r--r-- | mcon/U/d_semctl.U | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/mcon/U/d_semctl.U b/mcon/U/d_semctl.U new file mode 100644 index 0000000..e7c3528 --- /dev/null +++ b/mcon/U/d_semctl.U @@ -0,0 +1,52 @@ +?RCS: $Id: d_semctl.U 167 2013-05-08 17:58:00Z rmanfredi $ +?RCS: +?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic License, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic License; a copy of which may be found at the root +?RCS: of the source tree for dist 4.0. +?RCS: +?RCS: $Log: d_semctl.U,v $ +?RCS: Revision 3.0 1993/08/18 12:07:04 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_semctl: Trylink cat +?MAKE: -pick add $@ %< +?S:d_semctl: +?S: This variable conditionally defines the HAS_SEMCTL symbol, which +?S: indicates to the C program that the semctl() routine is available. +?S:. +?C:HAS_SEMCTL: +?C: This symbol, if defined, indicates that the semctl() routine is +?C: available to perform semaphore control operations. +?C:. +?H:#$d_semctl HAS_SEMCTL /**/ +?H:. +?LINT:set d_semctl +: see if semctl exists +$cat >try.c <<EOC +#include <sys/sem.h> +int main(void) +{ + static int ret, id, num; + static union semun { + int val; + struct semid_ds *buf; + unsigned short *array; + } arg; + ret |= semctl(id, num, GETVAL, &arg); + ret |= semctl(id, num, SETVAL, &arg); + ret |= semctl(id, num, GETPID, &arg); + ret |= semctl(id, num, GETNCNT, &arg); + ret |= semctl(id, num, GETZCNT, &arg); + ret |= semctl(id, num, GETALL, &arg); + ret |= semctl(id, num, SETALL, &arg); + return ret ? 0 : 1; +} +EOC +cyn=semctl +set d_semctl +eval $trylink + |