From: Keith W. <ke...@tu...> - 2003-10-07 22:57:10
|
John Dennis wrote: > I've been trying to track down a DRI client and server deadlock > problem. I think I now know the problem, I'd appreciate it if others > could confirm this is a bug or if I have a misunderstanding. > > This is the scenario: > > 1) Client takes heavyweight lock via ioctl, lock now has DRM_LOCK_HELD > bit or'ed in, high nibble is now 0x8. > > 2) Server requests heavyweight lock on a different context via ioctl, > lock is held by client, server is suspened pending release of lock by > client. The DRM_LOCK_CONT flag is or'ed in, high nibble is now 0xC. > > 3) Client wants to take lightweight lock, client currently holds > lock. These locks don't support recursive locking -- if this situation arises, the client is broken. Keith |