mirror of
https://git.openafs.org/openafs.git
synced 2025-02-01 05:57:43 +00:00
STABLE14-attachserverproc-dont-dequeue-if-not-in-queue-take-two-20040818
nWaiting ended up negative, because the dequeuer (GetCall) decremented. (cherry picked from commit 399785acf166dac15123889c28974ff06d6d2de0)
This commit is contained in:
parent
55c8e616eb
commit
5b60572c5d
@ -4009,11 +4009,12 @@ rxi_AttachServerProc(register struct rx_call *call,
|
|||||||
if (call->flags & RX_CALL_WAIT_PROC) {
|
if (call->flags & RX_CALL_WAIT_PROC) {
|
||||||
/* Conservative: I don't think this should happen */
|
/* Conservative: I don't think this should happen */
|
||||||
call->flags &= ~RX_CALL_WAIT_PROC;
|
call->flags &= ~RX_CALL_WAIT_PROC;
|
||||||
|
if (queue_IsOnQueue(call)) {
|
||||||
|
queue_Remove(call);
|
||||||
MUTEX_ENTER(&rx_stats_mutex);
|
MUTEX_ENTER(&rx_stats_mutex);
|
||||||
rx_nWaiting--;
|
rx_nWaiting--;
|
||||||
MUTEX_EXIT(&rx_stats_mutex);
|
MUTEX_EXIT(&rx_stats_mutex);
|
||||||
if (queue_IsOnQueue(call))
|
}
|
||||||
queue_Remove(call);
|
|
||||||
}
|
}
|
||||||
call->state = RX_STATE_ACTIVE;
|
call->state = RX_STATE_ACTIVE;
|
||||||
call->mode = RX_MODE_RECEIVING;
|
call->mode = RX_MODE_RECEIVING;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user