From ceb3507a8fca872770b3dcd7e5c5b36179ab95b0 Mon Sep 17 00:00:00 2001 From: Manoj Srivastava Date: Fri, 30 May 2008 12:42:47 -0700 Subject: Import dist_3.5-236.orig.tar.gz [dgit import orig dist_3.5-236.orig.tar.gz] --- mcon/U/d_semop.U | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 mcon/U/d_semop.U (limited to 'mcon/U/d_semop.U') diff --git a/mcon/U/d_semop.U b/mcon/U/d_semop.U new file mode 100644 index 0000000..968bebd --- /dev/null +++ b/mcon/U/d_semop.U @@ -0,0 +1,84 @@ +?RCS: $Id$ +?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_semop.U,v $ +?RCS: Revision 3.0 1993/08/18 12:07:05 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_semop d_semtimedop: Trylink cat +?MAKE: -pick add $@ %< +?S:d_semop: +?S: This variable conditionally defines the HAS_SEMOP symbol, which +?S: indicates to the C program that the semop() routine is available. +?S:. +?S:d_semtimedop: +?S: This variable conditionally defines the HAS_SEMTIMEDOP symbol, which +?S: indicates to the C program that the semtimedop() routine is available. +?S:. +?C:HAS_SEMOP: +?C: This symbol, if defined, indicates that the semop() routine is +?C: available to execute semaphore operations. +?C:. +?C:HAS_SEMTIMEDOP: +?C: This symbol, if defined, indicates that the semtimedop() routine is +?C: available to execute semaphore operations with a timeout. +?C:. +?H:#$d_semop HAS_SEMOP /**/ +?H:#$d_semtimedop HAS_SEMTIMEDOP /**/ +?H:. +?LINT:set d_semop d_semtimedop +: see if semop exists +$cat >try.c < +#include +int main(void) +{ + static int ret, id; + static size_t n; + static struct sembuf buf; + + buf.sem_num |= 1; + buf.sem_op |= 1; + buf.sem_flg |= SEM_UNDO; + buf.sem_flg |= IPC_NOWAIT; + ret |= semop(id, &buf, n); + return ret ? 0 : 1; +} +EOC +cyn=semop +set d_semop +eval $trylink + +@if d_semtimedop || HAS_SEMTIMEDOP +: see if semtimedop exists +$cat >try.c < +#include +#include +int main(void) +{ + static int ret, id; + static size_t n; + static struct sembuf buf; + + + buf.sem_num |= 1; + buf.sem_op |= 1; + buf.sem_flg |= SEM_UNDO; + buf.sem_flg |= IPC_NOWAIT; + ret |= semtimedop(id, &buf, n, (struct timespec *) 0); + return ret ? 0 : 1; +} +EOC +cyn=semtimedop +set d_semtimedop +eval $trylink + +@end -- cgit v1.2.3