]> git.michaelhowe.org Git - packages/o/openafs.git/commit
vos: Mark longjmp-used variables as 'volatile'
authorAndrew Deason <adeason@sinenomine.net>
Wed, 10 Mar 2010 00:07:18 +0000 (18:07 -0600)
committerRuss Allbery <rra@debian.org>
Mon, 28 Feb 2011 23:51:32 +0000 (15:51 -0800)
commit7a7c5d74cc3a6081472c50e7ca9caffe8305f4e4
tree1ac896da7512436b7e34ddd9c85474f60fe11892
parent983b35769b9db308f1b002bd6526776e7e9da063
vos: Mark longjmp-used variables as 'volatile'

vsprocs tries to do error recovery by calling longjmp from a signal
handler. Although this is quite error-prone since we call a ton of
non-async-signal-safe functions, make it a bit more likely to work by
marking variables that are used after the longjmp as volatile. This
reduces how often (depending on the platform) these values will be
completely worthless after a longjmp since they were cached in a
register or similar.

FIXES 125535

Reviewed-on: http://gerrit.openafs.org/1557
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit fe3ff8e91237f35fed33d6d417830e0fe44c6479)

Change-Id: I6d63f516a0864c643f5fea2a711a8adea9fdcc6d
Reviewed-on: http://gerrit.openafs.org/3573
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit f6a272c69683cbb9fcd7e23ff693dd6c57c0e1ac)
src/volser/vsprocs.c