Do not allow umtx_sleep() to restart on a restartable signal. We want to
[dragonfly.git] / libexec / makewhatis.local / makewhatis.local.sh
1 #!/bin/sh
2 #
3 # Copyright (c) April 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the distribution.
14 #
15 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 # SUCH DAMAGE.
26 #
27 # makewhatis.local - start makewhatis(8) only for file systems 
28 #                    physically mounted on the system
29 # catman.local -     start catman(1) only for file systems 
30 #                    physically mounted on the system
31 #
32 # Running makewhatis from /etc/periodic/weekly/320.whatis for rw nfs-mounted
33 # /usr may kill your NFS server -- all clients start makewhatis at the same
34 # time! So use this wrapper instead calling makewhatis directly.
35 #
36 # $FreeBSD: src/usr.bin/makewhatis/makewhatis.local.sh,v 1.7 1999/08/27 23:36:10 peter Exp $
37 # $DragonFly: src/libexec/makewhatis.local/makewhatis.local.sh,v 1.1 2004/03/25 18:05:49 joerg Exp $
38
39 PATH=/bin:/usr/bin:$PATH; export PATH
40 opt= dirs= localdirs=
41
42 for arg
43 do
44         case "$arg" in
45                 -*)     opt="$opt $arg";;
46                 *)      dirs="$dirs $arg";;
47         esac
48 done
49
50 dirs=`echo $dirs | sed 's/:/ /g'`
51 case X"$dirs" in X) echo "usage: $0 [options] directories ..."; exit 1;; esac
52
53 localdirs=`find -H $dirs -fstype local -type d -prune -print`
54
55 case X"$localdirs" in
56         X)      echo "$0: no local-mounted manual directories found: $dirs"
57                 exit 1;;
58         *)      exec `basename $0 .local` $opt $localdirs;;
59 esac