diff options
| -rwxr-xr-x | meta/recipes-extended/sysklogd/files/sysklogd | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/recipes-extended/sysklogd/files/sysklogd b/meta/recipes-extended/sysklogd/files/sysklogd index 258f882803..73424840ba 100755 --- a/meta/recipes-extended/sysklogd/files/sysklogd +++ b/meta/recipes-extended/sysklogd/files/sysklogd | |||
| @@ -90,6 +90,22 @@ running() | |||
| 90 | return 0 | 90 | return 0 |
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | waitpid () | ||
| 94 | { | ||
| 95 | pid=$1 | ||
| 96 | # Give pid a chance to exit before we restart with a 5s timeout in 1s intervals | ||
| 97 | if [ -z "$pid" ]; then | ||
| 98 | return | ||
| 99 | fi | ||
| 100 | timeout=5; | ||
| 101 | while [ $timeout -gt 0 ] | ||
| 102 | do | ||
| 103 | timeout=$(( $timeout-1 )) | ||
| 104 | kill -0 $pid 2> /dev/null || break | ||
| 105 | sleep 1 | ||
| 106 | done | ||
| 107 | } | ||
| 108 | |||
| 93 | case "$1" in | 109 | case "$1" in |
| 94 | start) | 110 | start) |
| 95 | log_begin_msg "Starting system log daemon..." | 111 | log_begin_msg "Starting system log daemon..." |
| @@ -113,17 +129,23 @@ case "$1" in | |||
| 113 | start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd | 129 | start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd |
| 114 | log_end_msg $? | 130 | log_end_msg $? |
| 115 | log_begin_msg "Reloading kernel log daemon..." | 131 | log_begin_msg "Reloading kernel log daemon..." |
| 132 | pid=`cat $pidfile_klogd 2> /dev/null` | ||
| 116 | start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd | 133 | start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd |
| 134 | waitpid $pid | ||
| 117 | start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD | 135 | start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD |
| 118 | log_end_msg $? | 136 | log_end_msg $? |
| 119 | ;; | 137 | ;; |
| 120 | restart) | 138 | restart) |
| 121 | log_begin_msg "Restarting system log daemon..." | 139 | log_begin_msg "Restarting system log daemon..." |
| 140 | pid=`cat $pidfile_syslogd 2> /dev/null` | ||
| 122 | start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd | 141 | start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd |
| 142 | waitpid $pid | ||
| 123 | start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD | 143 | start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD |
| 124 | log_end_msg $? | 144 | log_end_msg $? |
| 125 | log_begin_msg "Reloading kernel log daemon..." | 145 | log_begin_msg "Reloading kernel log daemon..." |
| 146 | pid=`cat $pidfile_klogd 2> /dev/null` | ||
| 126 | start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd | 147 | start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd |
| 148 | waitpid $pid | ||
| 127 | start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD | 149 | start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD |
| 128 | log_end_msg $? | 150 | log_end_msg $? |
| 129 | ;; | 151 | ;; |
