2010-01-25 Todd Valentic
- Major reworking of the way processes are terminated. Now
stop groups one by one, waiting until all processes are
stopped before moving on. This wait ensures that the
priority scheme works as exepcted. Before, the programs
were all stopped in priority order, but we did not wait
for completion, so a higher priority process might have
exited before a lower priority one that depended on it.
- Running stop(), stopclient() and stopgroup() will block
whereas they didn't before.
- ProcessClient no longer calls logout() in the signal
handler (it can't because the signal is often sent in
the stop call that is blocking).
- Added small delay in init script restart. We now cleanly
can restart - something that has been broken for awhile.