implement lock stealing.
commitff0cf8938df5753aac6bfe4b34bcc7a66d583bc3
authorDave Jones <davej@redhat.com>
Wed, 19 Mar 2014 14:55:59 +0000 (19 10:55 -0400)
committerDave Jones <davej@redhat.com>
Wed, 19 Mar 2014 14:55:59 +0000 (19 10:55 -0400)
treefdca5d8beb09ca2f054904f7c24835d1284e04b3
parent5cdee4bf7c5c72cddadad43685ecf6f0002cfcef
implement lock stealing.

This is kind of gross, but we have a rare situation where we end up
with a process holding a lock and then crashing.  If that happens,
the other processes all end up stuck waiting for a lock that never becomes free.

This isn't perfect. If we have multiple waiters, we can end up stealing
from a live process. I'll revisit this later, for now I just want to
fix the obvious deadlock.
include/locks.h
locks.c