vos: Mark longjmp-used variables as 'volatile'
authorAndrew Deason <adeason@sinenomine.net>
Wed, 10 Mar 2010 00:07:18 +0000 (18:07 -0600)
committerDerrick Brashear <shadow@dementia.org>
Tue, 23 Mar 2010 19:13:33 +0000 (12:13 -0700)
commitfe3ff8e91237f35fed33d6d417830e0fe44c6479
treec494bd9d3bf0186fe9e86619e682fe538913d348
parentf2db78a346112f5320efc6f0b6b9fe4ae0d893d3
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

Change-Id: I8566f8cffde6cfdffd99a11d637645494e0a0514
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>
src/volser/vsprocs.c