I noted the flaw in my reasoning with that statement a while after I posted that reply. It would instead be better to do the following:

Build process:

If lockfile exists, check PID against running PIDs and see if Fink still owns that PID and is in a state where it still exists (ie is executing).
    If so, fail gracefully stating that there is a Fink process that owns the lockfile and give the same message as there is currently.
    Else, create the lockfile-embedding the PID number of the running Fink process somehow, then proceed to build, where a successful or unsuccessful build attempt results with the lockfile being removed.

    Removing a lockfile should be similar except if a PID still owns the lockfile, Fink should not fail gracefully but instead tell the user, "HEY MORON! Fink's building this already!" or something similar in maybe a nicer tone =).

-Garrett

Reply via email to