David, thank you for improving the code. I'm traveling for the next week
with only an ipad. I'd like to ask your thoughts on a topic or two, but
typing on this is grueling. I hope to try for a longer reply later. Thanks
again. -Dan
On Fri, Jun 3, 2016 at 4:40 AM David Gibson
Functions invoked with altstack take a void * parameter. However, the
test program wants to pass an integer, and so uses the trick of casting
the integer values to (void *) and back again.
The ptrint() module handles exactly this case in a more portable and
(somewhat) typesafe way, so use that
altstack/test/run.c uses some hairy macros to intercept the standard
library functions that altstack uses. This has two purposes: 1) to
conditionally cause those functions to fail, and thereby test altstack's
error paths, and 2) log which of the library functions was called in each
testcase.
The
Dan,
Here are a bunch of assorted cleanups to the altstack module. If they
seem reasonable to you, please apply.
David Gibson (5):
altstack: Consolidate thread-local variables
altstack: Restore alternate signal stack state
altstack: Use ptrint instead of bare casts
altstack: Don't use 0