This file is indexed.

/var/lib/pcp/testsuite/243 is in pcp-testsuite 4.0.1-1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  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
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#! /bin/sh
# PCP QA Test No. 243
# Multiple PMCDs test
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard filters
. ./common.product
. ./common.filter
. ./common.check

[ $PCP_PLATFORM = darwin ] && _notrun "Who knows what the darwin networking code is doing, don't bother with this test"

rm -f $seq.out
_get_libpcp_config
if $ipv6 ; then
    ln $seq.out.ipv6 $seq.out || exit 1
else
    ln $seq.out.nonipv6 $seq.out || exit 1
fi

_filter_err()
{
    _filter_pmcd_log \
    | sed \
	-e 's/ __pmBind: / bind: /g' \
	-e 's/may already be running/is already running/g' \
	-e '/Log for pmcd/,/INADDR_ANY/c\
... boring stuff deleted' \
	-e '/ok FD 44321 ipv6 INADDR_ANY/d' \
	-e '/OpenRequestSocket.*unix.*bind: Address already in use/{
N
d
}' \
	-e 's/ INADDR_ANY/ 0x0/g' \
	#end
}

signal=$PCP_BINADM_DIR/pmsignal
_needclean=true

rm -rf $tmp
mkdir $tmp
chmod ugo+rwx $tmp
cd $tmp

cleanup()
{
    cd $here
    if $_needclean
    then
	_needclean=false
	$signal -s TERM $my_pmcd_pid
	pmsleep 1.5
	unset PMCD_SOCKET
	echo "Restart and ping pmcd ..."
	_service pcp restart | _filter_pcp_start
	_restore_auto_restart pmcd
	_wait_for_pmcd
	_wait_for_pmlogger
	pmprobe pmcd.control.debug
    fi
    rm -rf $tmp $tmp.*
}

status=1
trap "cleanup; exit \$status" 0 1 2 3 15

_stop_auto_restart pmcd

# real QA test starts here
_service pcp stop | _filter_pcp_stop

# Note: start pmcd with -f so that its PID stays the same (no daemon)
#
export PMCD_SOCKET=$tmp/pmcd.socket
$PCP_PMCD_PROG -f -x err1 &
my_pmcd_pid=$!

_wait_for_pmcd

echo "Checking for startup errors ..."
[ -f err1 ] && _filter_err <err1

# Try to start another pmcd.  This should fail because the socket is already in
# use.  Make sure that there are no changes to the log file
#
if [ -f pmcd.log ]
then
    cp pmcd.log pmcd.log.$$
else
    echo "No pmcd.log, pmcd failed to start!"
    exit
fi

echo
echo "Trying to start another PMCD over the top of the first one."
echo "Expect \"bind:  Address already in use\"...:"
$PCP_PMCD_PROG -f -x err2 2>&1 | _filter_err &

# EADDRINUSE errors now have 4x250 msec delay while we retry before giving
# up, and this happens once per socket type, so up to 3 times ... and then
# wait a little longer ...
pmsleep 3.5

echo "Checking for startup errors ..."
[ -f err2 ] && _filter_err <err2

echo "Checking that log hasn't changed ..."
diff pmcd.log pmcd.log.$$

status=$?