Messages in this thread | | | Subject | Re: blocking file lock functions (lockf,flock,fcntl) do not return after timer signal | From | Trond Myklebust <> | Date | Wed, 12 Oct 2005 10:39:07 -0400 |
| |
on den 12.10.2005 Klokka 14:48 (+0200) skreiv Alex Riesen: > On 10/12/05, "Dieter Müller (BOI GmbH)" <dieter.mueller@boi.at> wrote: > > bug description: > > > > flock, lockf, fcntl do not return even after the signal SIGALRM has > > been raised and the signal handler function has been executed > > the functions should return with a return value EWOULDBLOCK as described > > in the man pages
Works for me on a local filesystem.
Desktop$ ./gnurr gnarg locking... timeout timeout timeout timeout timeout
However it is true that it doesn't work over NFSv2/v3. The latter is probably because we use the synchronous NLM calls which block all signals during the wait in order to avoid state consistency problems (if the lock gets granted on server after the client was interrupted, then the administrator gets to clean up the lock).
We can probably relax this requirement a bit, and rely on the CANCEL call to get us out of trouble.
Cheers, Trond
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |