mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
rx: Fix test for end of call queue for LWP
Commit 6ad3d646 (rx: Correctly test for end of call queue) fixed a broken end-of-queue check in rx_GetCall, but it only fixed the RX_ENABLE_LOCKS version of rx_GetCall. The non-locks version (i.e. the LWP version) still had this bug. Fix it for the LWP case, to avoid some rare cases where an Rx call can get stuck in the incoming queue. Also remove the comment added by commit 170dbb3c (rx: Use opr queues), since we're fixing the mentioned problem. Change-Id: I5b96d97d9aba7bc4b383133b2136f949f3ed22bc Reviewed-on: https://gerrit.openafs.org/13880 Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
parent
aefc4c4f46
commit
d9fc4890f0
@ -2237,9 +2237,8 @@ rx_GetCall(int tno, struct rx_service *cur_service, osi_socket * socketp)
|
||||
service = tcall->conn->service;
|
||||
if (QuotaOK(service)) {
|
||||
MUTEX_ENTER(&rx_pthread_mutex);
|
||||
/* XXX - If tcall->entry.next is NULL, then we're no longer
|
||||
* on a queue at all. This shouldn't happen. */
|
||||
if (tno == rxi_fcfs_thread_num || !tcall->entry.next) {
|
||||
if (tno == rxi_fcfs_thread_num
|
||||
|| opr_queue_IsEnd(&rx_incomingCallQueue, cursor)) {
|
||||
MUTEX_EXIT(&rx_pthread_mutex);
|
||||
/* If we're the fcfs thread, then we'll just use
|
||||
* this call. If we haven't been able to find an optimal
|
||||
|
Loading…
x
Reference in New Issue
Block a user