/*
* If we detected deadlock, give up without waiting. This must agree with
- * CheckDeadLock's recovery code, except that we shouldn't release the
- * semaphore since we haven't tried to lock it yet.
+ * CheckDeadLock's recovery code.
*/
if (early_deadlock)
{
/*
* Set timer so we can wake up after awhile and check for a deadlock. If a
- * deadlock is detected, the handler releases the process's semaphore and
- * sets MyProc->waitStatus = STATUS_ERROR, allowing us to know that we
- * must report failure rather than success.
+ * deadlock is detected, the handler sets MyProc->waitStatus =
+ * STATUS_ERROR, allowing us to know that we must report failure rather
+ * than success.
*
* By delaying the check until we've waited for a bit, we can avoid
* running the rather expensive deadlock-check code in most cases.
/*
- * ProcWakeup -- wake up a process by releasing its private semaphore.
+ * ProcWakeup -- wake up a process by setting its latch.
*
* Also remove the process from the wait queue and set its links invalid.
* RETURN: the next process in the wait queue.
* we know that we don't have to wait anymore.
*
* We check by looking to see if we've been unlinked from the wait queue.
- * This is quicker than checking our semaphore's state, since no kernel
- * call is needed, and it is safe because we hold the lock partition lock.
+ * This is safe because we hold the lock partition lock.
*/
if (MyProc->links.prev == NULL ||
MyProc->links.next == NULL)