Implement a work around for the deadlock avoidance case in

vm_object_deallocate() so that it doesn't spin forever either.

Submitted by:	bde
This commit is contained in:
Alan Cox 2004-03-08 03:54:36 +00:00
parent ec4a10ee26
commit a7d8612155

View file

@ -495,6 +495,13 @@ vm_object_deallocate(vm_object_t object)
*/
object->ref_count++;
VM_OBJECT_UNLOCK(object);
/*
* More likely than not the thread
* holding robject's lock has lower
* priority than the current thread.
* Let the lower priority thread run.
*/
tsleep(&proc0, PVM, "vmo_de", 1);
continue;
}
if ((robject->handle == NULL) &&