Re: [FIX] Make deadlock detection work for file locking

From: Andries Brouwer (
Date: Fri Aug 25 2000 - 06:10:54 EST

On Thu, Aug 24, 2000 at 11:38:02PM +0200, wrote:

> BTW, this is a little off-topic, I kind of wonder what the right semantics
> for deadlock detection are with threads. POSIX 1003.1 1996-07-12 says:
> ... If the system detects that sleeping until a
> locked region is unlocked would cause a deadlock, the fcntl()
> function shall fail with an [EDEADLK] error."
> Okay, that's a little vague already. Now let's make it more interesting
> by adding threads:
> Process Thread Action (executed in this order)
> A 1 grab lock X
> B 1 grab lock Y
> A 2 try to get lock Y
> B 2 try to get lock X
> Solaris 2.5.1 thinks this is a deadlock. Linux 2.4.0-test1-ac16 thinks
> it isn't. I haven't found any definition of what "putting a process to
> sleep" means in POSIX.1.

I don't have POSIX in front of me, but I do not think
the system must detect deadlock. It is allowed to detect
deadlock, and in case it happens to do so EDEADLK is the
apprpriate error return.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:15 EST