From: Rudi S. <ru...@co...> - 2008-02-21 13:44:57
|
On 21.02.2008, at 21:36, Alexander Kjeldaas wrote: > On Wed, Feb 20, 2008 at 5:52 PM, Nikodemus Siivola > <nik...@ra...> wrote: >> The argument against is that PROBE-FILE is inherently racy, and even >> with this there are going to be race-conditions the user needs to >> deal with -- so signaling the error is not going remove any burden >> from the user, it merely forces the user to handle this error >> (probably by returning NIL instead), and let the other bits deal with >> the races (probably using :IF-EXISTS / :IF-DOES-NOT-EXIST in a later >> call to OPEN.) >> > > Not *inherently* racy. At least on linux and solaris, PROBE-FILE > should, if possible, be implemented race-free using openat(2). If I am not mistaken, nikodemus' point is that actually _doing_ anything with the return value of probe-file is inherently racy; (when (probe-file x) (open x)) is racy, even if probe-file itself isn't. Cheers, Rudi |