Hi, > I just tried running willie, but it seems that the "restart" and "stop" > actions of the init script are broken. On a related note, I just noticed that the --kill invocation in do_stop is mostly useless. do_stop in the initscript runs willie --quit and if the returns a non-zero status, runs willie --kill.
However, looking at the willie code, it seems that --quit only returns a non-zero status when no running pid was found. If a pid was found, it just sends a signal and returns 0, without actually checking or waiting for willie to stop. This means that --kill is only run when there is no point (there is no process to kill), not when there is a process to kill but it didn't die from --quit. In my case, there was a problem with the pidfile that prevented willie from quitting, but --kill was never tried. However, after fixing the pidfile problem, a restart still doesn't work, since willie needs a few seconds to clean up and quit, and the initscript goes ahead and starts again to soon. I guess this should be fixed by looping and checking to see if the process is still there. Inside willie --quit is probably the best place, though in the initscript might also work. > It seems the simplest fix is to just pass $DAEMON_ARGS to willie --quit? I just tried this and this seems to work (apart from the above problems). Gr. Matthijs
signature.asc
Description: Digital signature