[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-commits-diffs] net.venge.monotone.contrib.usher: 7502a593e822
From: |
code |
Subject: |
[Monotone-commits-diffs] net.venge.monotone.contrib.usher: 7502a593e822d0ec5541e2682d39c9919a8d8edb |
Date: |
Wed, 19 Jan 2011 08:22:00 GMT |
revision: 7502a593e822d0ec5541e2682d39c9919a8d8edb
date: 2011-01-19T08:21:30
author: Richard Levitte <address@hidden>
branch: net.venge.monotone.contrib.usher
changelog:
Split status so there is a non-text version of it, and use that
version.
Split writesrv, addsrv, modsrv and delsrv and versions that don't tell
you to reload usher and versions who do. Use the former internally.
This reduces the need to hide stderr.
manifest:
format_version "1"
new_manifest [ef80235675fbcace41a3fa152b0bac3d38633ca4]
old_revision [32937faee71bb1b0c312d9f294ea9e124921a423]
patch "utils/usherctl"
from [ebc251598e05d0d71aed487c0dc8ef4bb87b2537]
to [b29d51898d66a04f4808afa79dcac9ea24fc0279]
============================================================
--- utils/usherctl ebc251598e05d0d71aed487c0dc8ef4bb87b2537
+++ utils/usherctl b29d51898d66a04f4808afa79dcac9ea24fc0279
@@ -88,34 +88,49 @@ _read_pid_file () {
fi
}
-status () {
+status0 () {
if [ -z $USHER_SYSTEM_STARTUP ]; then
pid=`_read_pid_file`
if [ -n "$pid" ]; then
+ echo "$pid"
if kill -0 $pid 2>/dev/null; then
- echo "The usher process is up and running: $pid"
return 0
else
- echo "The usher process is down, but there's a PID file."
return 1
fi
else
- echo "The usher process is down."
return 2
fi
else
/etc/init.d/usher status
fi
}
+status () {
+ pid=`status0`
+ local save_rc=$?
+ case $save_rc in
+ 0 )
+ if [ -z "$pid" ]; then
+ echo "The usher process is up and running"
+ else
+ echo "The usher process is up and running: $pid"
+ fi
+ ;;
+ 1 )
+ echo "The usher process is down, but there's a PID file."
+ ;;
+ 2 )
+ echo "The usher process is down."
+ ;;
+ esac
+ return $save_rc
+}
start () {
if [ -z $USHER_SYSTEM_STARTUP ]; then
- pid=`_read_pid_file`
- if [ -n "$pid" ]; then
- if kill -0 $pid 2>/dev/null; then
- echo >&2 "Usher process already up: $pid"
- exit 1
- fi
+ if pid=`status0`; then
+ echo >&2 "Usher process already up: $pid"
+ exit 1
fi
rm -f "$USHER_PIDFILE"
$USHER -p "$USHER_PIDFILE" "$USHER_CONF" \
@@ -127,8 +142,7 @@ stop () {
stop () {
if [ -z $USHER_SYSTEM_STARTUP ]; then
- pid=`_read_pid_file`
- if [ -n "$pid" ]; then
+ if pid=`status0`; then
kill $pid
fi
else
@@ -138,12 +152,11 @@ reload () {
reload () {
if [ -z $USHER_SYSTEM_STARTUP ]; then
- pid=`_read_pid_file`
- if [ -z "$pid" ]; then
+ if pid=`status0`; then
+ kill -1 $pid
+ else
echo >&2 "No usher process present."
exit 1
- else
- kill -1 $pid
fi
else
/etc/init.d/usher reload
@@ -152,20 +165,15 @@ restart () {
restart () {
if [ -z $USHER_SYSTEM_STARTUP ]; then
- stop && start
+ stop && sleep 1 && start
else
/etc/init.d/usher restart
fi
}
restart_if_started () {
- if [ -z $USHER_SYSTEM_STARTUP ]; then
- pid=`_read_pid_file`
- if [ -n "$pid" ]; then
- restart
- fi
- elif /etc/init.c/usher status >/dev/null 2>/dev/null; then
- /etc/init.d/usher restart
+ if pid=`status0`; then
+ restart
fi
}
@@ -227,7 +235,7 @@ rebuild () {
# $4 pattern prefix
# $5 type (remote local)
# $6- args
-writesrv () {
+writesrv0 () {
op="$1"; shift
name="$1"; shift
host="$1"; shift
@@ -269,29 +277,39 @@ writesrv () {
_maybe_set_file_owner "$USHER_CONFD/$name.conf"
chmod 640 "$USHER_CONFD/$name.conf"
rebuild
- echo >&2 "Server '$name' $op, please reload usher to activate."
+ echo >&2 "Server '$name' $op."
}
+writesrv () {
+ writesrv0 "$@"
+ echo >&2 "Please reload usher to activate."
+}
+
# $1 server name
# $2 host prefix
# $3 pattern prefix
# $4 type (remote local)
# $5- args
-addsrv () {
+addsrv0 () {
if [ -f "$USHER_CONFD/$1.conf" ]; then
echo >&2 "There is already a server named '$1', not changing."
exit 1
fi
- writesrv added "$@"
+ writesrv0 added "$@"
}
+addsrv () {
+ addsrv0 "$@"
+ echo >&2 "Please reload usher to activate."
+}
+
# $1 server name
# $2 host prefix
# $3 pattern prefix
# $4 type (remote local)
# $5- args
-modsrv () {
+modsrv0 () {
name="$1"; shift
ohost="$1"; host="$1"; shift
opattern="$1"; pattern="$1"; shift
@@ -325,11 +343,16 @@ modsrv () {
esac
done < "$USHER_CONFD/$name.conf"
mv "$USHER_CONFD/$name.conf" "$USHER_CONFD/$name.conf~"
- writesrv modified "$name" "$host" "$pattern" "$@"
+ writesrv0 modified "$name" "$host" "$pattern" "$@"
}
+modsrv () {
+ modsrv0 "$@"
+ echo >&2 "Please reload usher to activate."
+}
+
# $1 server name
-delsrv () {
+delsrv0 () {
name="$1"
if [ ! -f "$USHER_CONFD/$name.conf" ]; then
@@ -339,9 +362,14 @@ delsrv () {
rm -f "$USHER_CONFD/$name.conf" "$USHER_CONFD/$name.conf~"
rebuild
- echo >&2 "Server '$name' deleted, please reload usher to activate."
+ echo >&2 "Server '$name' deleted."
}
+delsrv () {
+ delsrv0 "$@"
+ echo >&2 "Please reload usher to activate."
+}
+
# $1 name
rebuild_permissions () {
confdir="$USHER_PROJECTDIR/$name"
@@ -483,10 +511,10 @@ mkproject () {
echo "$akid" > "$aconfdir/rakeys"
# add project server
- addsrv "$name" "" "" \
+ addsrv0 "$name" "" "" \
local "--confdir" "$confdir" "-d" "$confdir/database.mtn" \
"--no-standard-rcfiles" "--rcfile" "$confdir/monotonerc" \
- "--timestamps" "--ticker=dot" 2>/dev/null
+ "--timestamps" "--ticker=dot"
restart_if_started
@@ -504,7 +532,7 @@ rmproject () {
exit 1
fi
- delsrv "$name" 2>/dev/null
+ delsrv0 "$name"
restart_if_started
rm -rf "$USHER_PROJECTDIR/$name"
echo >&2 "project '$name' removed."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-diffs] net.venge.monotone.contrib.usher: 7502a593e822d0ec5541e2682d39c9919a8d8edb,
code <=