| 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 |
