Summary: | www-servers/apache: refuses to stop with many active connections | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Christian Ruppert (idl0r) <idl0r> |
Component: | [OLD] Server | Assignee: | Peter Volkov (RETIRED) <pva> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | apache-bugs, infra-bugs, mirage |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Christian Ruppert (idl0r)
2011-09-15 13:44:08 UTC
Thank you for report. Actually after investigation I've decided to remove s-s-d from stop(). Idea is that I'd like our init script be a bit more fool proof and thus I've added logic to check that parent exited `! test -f "${PIDFILE}"` and childs exited too `pgrep -P ${PID} apache2`. That said I've increased timeout to 15. I think it's incorrect test: /etc/init.d/apache2:105 while ( ! test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) Probably it should be: while ( test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) Because pgrep will always false if there is no ${PIDFILE}. So this while loop never happens in original script. Am I right? |