On 03/22/2012 11:54 AM, John R Pierce wrote:
On 03/22/12 11:50 AM, m.roth@5-cent.us wrote:
In this case, a more elegant solution would be one that the authors of the initscript should have thought of: they're already checking to see if something's running, why not loop with a sleep until portmap's running?
they'd have to spawn a detached shell for that, as the rc scripts won't continue until the current script returns.
You have to spawn a detached shell anyway weather you do a sleep or check to see if portmap is running. If you want to check to see if it's running, that will certainly work too. In my case, I used a time delay because the problem I was having was with named not binding to the vmnet interfaces because vmware took too long to start. named needed to start early on because other daemons were depended on it, but then it needed to be kicked later so it would bind to the newly created vmnet interface.
Upstart (which was authored by one of the Ubuntu developers) is now part of CentOS 6. It attempts to address these issues by allowing you to define dependencies between upstart scripts. Unfortunately it's still a mess in CentOS 6 because a large number of packages still use the old init scripts. Furthermore RedHat has decided that they don't like Upstart and they are going to yet another replacement for upstart in future releases (sorry, I don't remember the name of it).
Nataraj