Artifact
f6ebc17b0a00f136175dcf2ff75e39457e674583b1fd45df8430d4a4a975b3ba :
Executable file
tools/fslsrv
— part of check-in
[df2eb08e]
at
2019-08-02 18:01:52
on branch trunk
— Added a comment to fslsrv in place of the just-removed parameter to make
it clear what's going on here.
(user:
wyoung
size: 1175)
[more...]
0000: 23 21 2f 62 69 6e 2f 62 61 73 68 0a 42 41 53 45 #!/bin/bash.BASE
0010: 50 4f 52 54 3d 31 32 33 34 35 0a 46 4f 53 53 49 PORT=12345.FOSSI
0020: 4c 3d 66 6f 73 73 69 6c 0a 4f 4c 44 50 49 44 3d L=fossil.OLDPID=
0030: 60 70 67 72 65 70 20 2d 50 20 31 20 66 6f 73 73 `pgrep -P 1 foss
0040: 69 6c 60 0a 50 47 41 52 47 53 3d 22 2d 50 20 31 il`.PGARGS="-P 1
0050: 22 0a 0a 69 66 20 5b 20 22 24 31 22 20 3d 20 22 "..if [ "$1" = "
0060: 2d 66 22 20 5d 20 3b 20 74 68 65 6e 20 50 47 41 -f" ] ; then PGA
0070: 52 47 53 3d 20 3b 20 73 68 69 66 74 20 3b 20 66 RGS= ; shift ; f
0080: 69 0a 0a 69 66 20 5b 20 2d 6e 20 22 24 4f 4c 44 i..if [ -n "$OLD
0090: 50 49 44 22 20 5d 0a 74 68 65 6e 0a 20 20 20 20 PID" ].then.
00a0: 65 63 68 6f 20 22 4b 69 6c 6c 69 6e 67 20 72 75 echo "Killing ru
00b0: 6e 6e 69 6e 67 20 46 6f 73 73 69 6c 20 73 65 72 nning Fossil ser
00c0: 76 65 72 20 66 69 72 73 74 2e 2e 2e 22 0a 20 20 ver first...".
00d0: 20 20 70 6b 69 6c 6c 20 24 50 47 41 52 47 53 20 pkill $PGARGS
00e0: 66 6f 73 73 69 6c 0a 0a 20 20 20 20 66 6f 72 20 fossil.. for
00f0: 69 20 69 6e 20 24 28 73 65 71 20 33 30 29 0a 20 i in $(seq 30).
0100: 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 69 66 do. if
0110: 20 5b 20 2d 6e 20 22 24 28 70 67 72 65 70 20 24 [ -n "$(pgrep $
0120: 50 47 41 52 47 53 20 66 6f 73 73 69 6c 29 22 20 PGARGS fossil)"
0130: 5d 0a 20 20 20 20 20 20 20 20 74 68 65 6e 0a 20 ]. then.
0140: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 20 if [
0150: 24 69 20 2d 65 71 20 31 20 5d 0a 20 20 20 20 20 $i -eq 1 ].
0160: 20 20 20 20 20 20 20 74 68 65 6e 0a 20 20 20 20 then.
0170: 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f echo
0180: 20 2d 6e 20 22 57 61 69 74 69 6e 67 20 66 6f 72 -n "Waiting for
0190: 20 69 74 20 74 6f 20 64 69 65 2e 2e 2e 22 0a 20 it to die...".
01a0: 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a else.
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01c0: 65 63 68 6f 20 2d 6e 20 2e 0a 20 20 20 20 20 20 echo -n ..
01d0: 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20 fi.
01e0: 20 20 20 20 20 73 6c 65 65 70 20 27 30 2e 31 27 sleep '0.1'
01f0: 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 . else.
0200: 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a break.
0210: 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 fi.
0220: 20 20 20 65 63 68 6f 0a 20 20 20 20 64 6f 6e 65 echo. done
0230: 0a 0a 20 20 20 20 6b 69 6c 6c 61 6c 6c 20 2d 39 .. killall -9
0240: 20 66 6f 73 73 69 6c 20 32 3e 20 2f 64 65 76 2f fossil 2> /dev/
0250: 6e 75 6c 6c 0a 66 69 0a 0a 69 66 20 5b 20 2d 78 null.fi..if [ -x
0260: 20 2e 2f 66 6f 73 73 69 6c 20 5d 0a 74 68 65 6e ./fossil ].then
0270: 0a 20 20 20 20 23 20 57 65 27 72 65 20 72 75 6e . # We're run
0280: 6e 69 6e 67 20 66 72 6f 6d 20 61 20 62 75 69 6c ning from a buil
0290: 64 20 74 72 65 65 2c 20 73 6f 20 75 73 65 20 74 d tree, so use t
02a0: 68 61 74 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 hat version inst
02b0: 65 61 64 0a 20 20 20 20 46 4f 53 53 49 4c 3d 2e ead. FOSSIL=.
02c0: 2f 66 6f 73 73 69 6c 0a 66 69 0a 0a 66 75 6e 63 /fossil.fi..func
02d0: 74 69 6f 6e 20 73 74 61 72 74 5f 6f 6e 65 28 29 tion start_one()
02e0: 20 7b 0a 20 20 20 20 62 6e 3d 24 31 0a 20 20 20 {. bn=$1.
02f0: 20 70 6f 72 74 3d 24 28 28 24 42 41 53 45 50 4f port=$(($BASEPO
0300: 52 54 20 2b 20 24 32 29 29 0a 20 20 20 20 75 72 RT + $2)). ur
0310: 6c 3d 22 24 33 22 0a 20 20 20 20 69 66 20 5b 20 l="$3". if [
0320: 2d 6e 20 22 24 75 72 6c 22 20 5d 20 3b 20 74 68 -n "$url" ] ; th
0330: 65 6e 20 62 61 73 65 75 72 6c 3d 22 2d 2d 62 61 en baseurl="--ba
0340: 73 65 75 72 6c 20 24 75 72 6c 22 20 3b 20 66 69 seurl $url" ; fi
0350: 0a 0a 20 20 20 20 24 46 4f 53 53 49 4c 20 73 65 .. $FOSSIL se
0360: 72 76 65 72 20 2d 2d 6c 6f 63 61 6c 68 6f 73 74 rver --localhost
0370: 20 2d 2d 70 6f 72 74 20 24 70 6f 72 74 20 2d 2d --port $port --
0380: 73 63 67 69 20 24 62 61 73 65 75 72 6c 20 5c 0a scgi $baseurl \.
0390: 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 65 72 --er
03a0: 72 6f 72 6c 6f 67 20 7e 2f 6c 6f 67 2f 66 6f 73 rorlog ~/log/fos
03b0: 73 69 6c 2f 24 62 6e 2d 65 72 72 6f 72 73 2e 6c sil/$bn-errors.l
03c0: 6f 67 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 og \.
03d0: 20 7e 2f 6d 75 73 65 75 6d 2f 24 62 6e 2e 66 6f ~/museum/$bn.fo
03e0: 73 73 69 6c 20 3e 20 7e 2f 6c 6f 67 2f 66 6f 73 ssil > ~/log/fos
03f0: 73 69 6c 2f 24 62 6e 2d 73 74 64 6f 75 74 2e 6c sil/$bn-stdout.l
0400: 6f 67 20 26 0a 20 20 20 20 65 63 68 6f 20 46 6f og &. echo Fo
0410: 73 73 69 6c 20 73 65 72 76 65 72 20 72 75 6e 6e ssil server runn
0420: 69 6e 67 20 66 6f 72 20 24 62 6e 2c 20 50 49 44 ing for $bn, PID
0430: 20 24 21 2c 20 70 6f 72 74 20 24 70 6f 72 74 2e $!, port $port.
0440: 0a 7d 0a 0a 73 74 61 72 74 5f 6f 6e 65 20 65 78 .}..start_one ex
0450: 61 6d 70 6c 65 20 30 20 68 74 74 70 73 3a 2f 2f ample 0 https://
0460: 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 63 6f 64 65 example.com/code
0470: 0a 73 74 61 72 74 5f 6f 6e 65 20 66 6f 6f 20 20 .start_one foo
0480: 20 20 20 31 20 23 20 68 74 74 70 73 3a 2f 2f 66 1 # https://f
0490: 6f 6f 2e 6e 65 74 0a oo.net.