On Mon, Mar 2, 2015 at 5:40 AM, Neale Pickett <[email protected]> wrote:
> You can read it
> at https://woozle.org/neale/g.cgi/aur/runit-init/tree/usr/bin/runit-signal

cleanup () {
    echo "Stopping services..."
    sv -v stop /var/service/*
    echo "Asking processes to exit..."
    busybox killall5 -1
    busybox killall5 -15
    if ! waitall; then
        echo "Forcing processes to exit..."
        busybox killall5 -9
        waitall
    fi
    echo "Unmounting file systems..."
    umount -a -r

    # Sometimes when we reach here we still haven't been able to umount
    # everything.  Not much more we can do about that, other than flush
    # write buffers and hope for the best.
    sync
}

I suggest adding "sync &" after killall5 -15.

The idea is to initiate cache writeout earlier.
While your processes exit, and you wait for them to disappear,
storage will be already busily writing out all dirty blocks.

If umount hangs (it shouldn't... modulo bugs), having early
sync also would help to have more data saved by this point.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to