mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-28 04:58:32 +00:00
Merge pull request #721 from justincormack/vsudd-before-syslog
Always start vsudd before syslog
This commit is contained in:
commit
f81abe7a39
76
alpine/etc/init.d/sysklogd
Executable file
76
alpine/etc/init.d/sysklogd
Executable file
@ -0,0 +1,76 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License, v2 or later
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/sysklogd/files/sysklogd.rc7,v 1.1 2011/09/14 22:22:57 polynomial-c Exp $
|
||||
|
||||
extra_started_commands="reload"
|
||||
|
||||
depend() {
|
||||
need clock hostname localmount vsudd
|
||||
before net
|
||||
provide logger
|
||||
}
|
||||
|
||||
start_daemon() {
|
||||
local retval=0
|
||||
local daemon="$1"
|
||||
local options="$2"
|
||||
|
||||
[ -z "${daemon}" ] && return 1
|
||||
|
||||
ebegin "sysklogd -> start: ${daemon}"
|
||||
start-stop-daemon --start --exec /usr/sbin/"${daemon}" \
|
||||
--pidfile /var/run/"${daemon}".pid -- ${options}
|
||||
retval=$?
|
||||
eend ${retval} "Failed to start ${daemon}"
|
||||
|
||||
return ${retval}
|
||||
}
|
||||
|
||||
stop_daemon() {
|
||||
local retval=0
|
||||
local daemon="$1"
|
||||
|
||||
[ -z "${daemon}" ] && return 1
|
||||
|
||||
ebegin "sysklogd -> stop: ${daemon}"
|
||||
# syslogd can be stubborn some times (--retry 15)...
|
||||
start-stop-daemon --stop --retry 15 --quiet --pidfile /var/run/"${daemon}".pid
|
||||
retval=$?
|
||||
eend ${retval} "Failed to stop ${daemon}"
|
||||
|
||||
return ${retval}
|
||||
}
|
||||
|
||||
start() {
|
||||
start_daemon "syslogd" "${SYSLOGD}" || return 1
|
||||
|
||||
# klogd do not always start proper if started too early
|
||||
sleep 1
|
||||
|
||||
if ! start_daemon "klogd" "${KLOGD}" ; then
|
||||
stop_daemon "syslogd"
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
stop() {
|
||||
stop_daemon "klogd" || return 1
|
||||
stop_daemon "syslogd" || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
reload() {
|
||||
local ret=0
|
||||
|
||||
ebegin "Reloading configuration"
|
||||
|
||||
start-stop-daemon --signal HUP --pidfile /var/run/syslogd.pid
|
||||
ret=$((${ret} + $?))
|
||||
start-stop-daemon --signal USR1 --pidfile /var/run/klogd.pid
|
||||
ret=$((${ret} + $?))
|
||||
|
||||
eend ${ret}
|
||||
}
|
@ -2,11 +2,6 @@
|
||||
|
||||
description="vsock socket proxy client"
|
||||
|
||||
depend()
|
||||
{
|
||||
before logger docker
|
||||
}
|
||||
|
||||
start()
|
||||
{
|
||||
[ "$(mobyplatform)" != "mac" ] && [ "$(mobyplatform)" != "windows" ] && exit 0
|
||||
@ -31,10 +26,11 @@ start()
|
||||
start-stop-daemon --start --quiet \
|
||||
--background \
|
||||
--exec /sbin/vsudd \
|
||||
--make-pidfile --pidfile ${PIDFILE} \
|
||||
-- -inport "${DOCKER_PORT}:unix:/var/run/docker.sock" \
|
||||
${SYSLOG_OPT} \
|
||||
-detach
|
||||
-pidfile ${PIDFILE}
|
||||
|
||||
[ -n "${SYSLOG_OPT}" ] && ewaitfile 10 /var/run/syslog.vsock
|
||||
|
||||
eend $? "Failed to start vsudd"
|
||||
}
|
||||
|
@ -31,6 +31,7 @@ var (
|
||||
detach bool
|
||||
useHVsock bool
|
||||
syslogFwd string
|
||||
pidfile string
|
||||
)
|
||||
|
||||
type vConn interface {
|
||||
@ -60,12 +61,25 @@ func init() {
|
||||
flag.Var(&inForwards, "inport", "incoming port to forward")
|
||||
flag.StringVar(&syslogFwd, "syslog", "", "enable syslog forwarding")
|
||||
flag.BoolVar(&detach, "detach", false, "detach from terminal")
|
||||
flag.StringVar(&pidfile, "pidfile", "", "pid file")
|
||||
}
|
||||
|
||||
func main() {
|
||||
log.SetFlags(log.LstdFlags)
|
||||
flag.Parse()
|
||||
|
||||
if pidfile != "" {
|
||||
file, err := os.OpenFile(pidfile, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
|
||||
if err != nil {
|
||||
log.Fatalln("Failed to open pidfile", err)
|
||||
}
|
||||
_, err = fmt.Fprintf(file, "%d", os.Getpid())
|
||||
file.Close()
|
||||
if err != nil {
|
||||
log.Fatalln("Failed to write pid", err)
|
||||
}
|
||||
}
|
||||
|
||||
if detach {
|
||||
syslog, err := syslog.New(syslog.LOG_INFO|syslog.LOG_DAEMON, "vsudd")
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user