Avoid dirty afs tables on shutdown.
authorAndre Noll <maan@systemlinux.org>
Sun, 26 Apr 2009 17:45:59 +0000 (19:45 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 26 Apr 2009 17:45:59 +0000 (19:45 +0200)
commita0b1604a44be6bb89c91ae760f1ccf00768eb09a
tree6d54144559366903ef858927fec373194052013e
parentad81d625737e1c096c154aedd8a1d161d3ee592e
Avoid dirty afs tables on shutdown.

The server process must wait for afs because afs catches SIGINT/SIGTERM
and may thus not respond immediately to these SIGNALS.

Before reacting to the signal, afs might want to use the shared memory
area and the mmd mutex.  If the server process destroys this mutex
too early and afs tries to lock the shared memory area, the call to
mutex_lock() will fail and terminate the afs process. This leads to
dirty osl tables.

There's no such problem with the other children of the server process
(the command handlers) as these reset their SIGINT/SIGTERM handlers
to the default action, i.e.  these processes get killed immediately
by the above kill().
server.c