Ah, then ssh already had that race. In which case -D seems like a good choice
On Mon, Dec 13, 2010 at 11:05 PM, Clint Byrum <cl...@fewbar.com> wrote: > The code looks something like this: > > [ option parsing, config check, etc ] > sshd.c, line 1744: daemon() > [ reinit logs, start random number generator, chdir to /, ignore SIGPIPE ] > sshd.c, line 1774: server_listen() -- socket(), bind(), listen(), etc. > > So, there's already a race between considering it started (at the fork > caused by daemon()), and sshd listening, right? Its just that now we're > considering it started before the config check and option parsing, so > that does give any dependent upstart jobs a bigger head start than they > already had. > > -- > You received this bug notification because you are a member of Upstart > Developers, which is subscribed to upstart . > https://bugs.launchpad.net/bugs/687535 > > Title: > upstart loses track of ssh daemon after reload ssh > > Status in Upstart: > New > Status in “openssh” package in Ubuntu: > Confirmed > Status in “openssh” source package in Lucid: > Confirmed > Status in “openssh” source package in Maverick: > Confirmed > > Bug description: > When sshd gets a signal 1 for reload, it forks a new process and ditches > the old. This causes upstart to believe that ssh has crashed, and loses > track of it. A second reload (or any other initctl operation on ssh) will > thus say: > > reload: Unknown instance: > > There would be 2 ways to fix this: > 1. Don't have ssh fork on relod, but keep the same pid > 2. Use a different mechanism in upstart to keep track of ssh. Maybe a pid > file? Just tracking children of the exited ssh won't work, or it might > accidentally track a particular session rather than the master, if somebody > just happens to log in close to reload time. > > > # lsb_release -rd > Description: Ubuntu 10.04.1 LTS > Release: 10.04 > > # dpkg -l openssh-server | cat > Desired=Unknown/Install/Remove/Purge/Hold > | > Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend > |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) > ||/ Name Version > Description > > +++-===========================================-==========================================================-================================================================= > ii openssh-server 1:5.3p1-3ubuntu4 > secure shell (SSH) server, for secure access > from remote machines > > # dpkg -l upstart > Desired=Unknown/Install/Remove/Purge/Hold > | > Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend > |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) > ||/ Name Version Description > > +++-==============-==============-============================================ > ii upstart 0.6.5-7 event-based init daemon > > > -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to openssh in ubuntu. https://bugs.launchpad.net/bugs/687535 Title: upstart loses track of ssh daemon after reload ssh -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs