]> git.michaelhowe.org Git - packages/o/openafs.git/commit
afs: afs_pag_wait() makes process unkillable
authorMarcio Barbosa <mbarbosa@sinenomine.net>
Thu, 7 Nov 2019 03:10:12 +0000 (00:10 -0300)
committerStephan Wiesand <stephan.wiesand@desy.de>
Sun, 9 Feb 2020 17:44:41 +0000 (12:44 -0500)
commitc0b07f7b5aed843f06c7cb334f1495acc2fe0ff4
tree55f27a5c344104caaf68f15d7d33544f06792a26
parent080857b86b682994d023c6fdee39985c9434ce14
afs: afs_pag_wait() makes process unkillable

To enforce a maximum average rate of one PAG allocation per second,
afs_pag_wait(), called by afs_setpag*(), sleeps until the difference
between the current time and pag_epoch gets greater than pagCounter.
Unfortunately, this function ignores the code returned by afs_osi_Wait().
As a result, it is not possible to kill the process that requested the
new pag while afs_pag_wait() is sleeping.

To fix this problem, do not ignore the code returned by afs_osi_Wait().

Reviewed-on: https://gerrit.openafs.org/12260
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 9563807791e2402f7a214a90e96cf6ed8ea5abfb)

Change-Id: Id2453d6eb2b6cc973082da28bb3746c9f9c5ddb2
Reviewed-on: https://gerrit.openafs.org/13974
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/afs/afs_osi_pag.c