File: psize.sh

package info (click to toggle)
bash 5.1-2%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 40,116 kB
  • sloc: ansic: 112,107; sh: 7,438; yacc: 5,518; makefile: 4,533; perl: 4,227; asm: 48; awk: 23; sed: 16
file content (45 lines) | stat: -rw-r--r-- 1,075 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#! /bin/sh
#
# psize.sh -- determine this system's pipe size, and write a define to
#             pipesize.h so ulimit.c can use it.

: ${TMPDIR:=/tmp}
# try to use mktemp(1) if the system supports it
{ TMPFILE="`mktemp $TMPDIR/pipsize.XXXXXX 2>/dev/null`"; } 2>/dev/null
used_mktemp=true

if [ -z "$TMPFILE" ]; then
	TMPNAME=pipsize.$$
	TMPFILE=$TMPDIR/$TMPNAME
	used_mktemp=false
fi

trap 'rm -f "$TMPFILE" ; exit 1' 1 2 3 6 15
trap 'rm -f "$TMPFILE"' 0

echo "/*"
echo " * pipesize.h"
echo " *"
echo " * This file is automatically generated by psize.sh"
echo " * Do not edit!"
echo " */"
echo ""

#
# Try to avoid tempfile races.  We can't really check for the file's
# existence before we run psize.aux, because `test -e' is not portable,
# `test -h' (test for symlinks) is not portable, and `test -f' only
# checks for regular files.  If we used mktemp(1), we're ahead of the
# game.
#
$used_mktemp || rm -f "$TMPFILE"

./psize.aux 2>"$TMPFILE" | sleep 3

if [ -s "$TMPFILE" ]; then
	echo "#define PIPESIZE `cat "$TMPFILE"`"
else
	echo "#define PIPESIZE 512"
fi

exit 0