]> git.michaelhowe.org Git - packages/o/openafs.git/commit
rx: Avoid rxi_Delay on RXS_CheckResponse failure
authorAndrew Deason <adeason@sinenomine.net>
Fri, 21 Feb 2014 21:30:49 +0000 (15:30 -0600)
committerRuss Allbery <rra@debian.org>
Wed, 9 Apr 2014 17:56:01 +0000 (10:56 -0700)
commitbaea8ed931df799b24719b8296f925649b315b04
tree9aa50df3736e0beab41bb6c82f71dbc02028676c
parent197cb7ce043f9c0a6b98a55139230c896050e683
rx: Avoid rxi_Delay on RXS_CheckResponse failure

Currently we rxi_Delay whenever RXS_CheckResponse fails for any
reason. This can result in disastrous performance degradations if a
client keeps sending "bad" responses, since rxi_Delay'ing here will
delay the Rx listener thread. This means we cannot receive any packets
for about a second, which can easily cause us to drop a lot of
incoming packets.

Instead, send the abort after 1 second by scheduling an event. This
will retain existing behavior from the point of view of the client
(it will get the abort after 1 second), but avoids hanging the Rx
listener thread.

FIXES 131802

(cherry picked from commit 0ec67b0a9a175af14e360da75d1f5429c6c97b24)

Change-Id: Idf2fb2cc26c013b9071d578b46f6d4831ff3fe5f
src/rx/rx.c