Subject: Revised signal handling - keeping it simple

From: Chris Rankin <[email-masked]>
Date: Fri, 18 Dec 1998 22:59:58 -0500

Hi,
I removed the non-local jumps from the signal handling and returned to
setting an atomic "isTerminated" flag. Research has indicated that
siglongjmp is probably no more reentrant than the original code (Doh!).
This new approach is DEFINITELY reentrant and is probably universally
portable since it doesn't do much. Assignments to sig_atomic_t variables
are by definition atomic so synchronisation isn't an issue; the use of
"volatile" storage tells the compiler that the variable's value is
likely to change in mysterious and unpredicable ways and so it shouldn't
try to cache its value in a register. The only thing left is making sure
that a process doesn't "stick" while trying to terminate.

Cheers,
Chris.

PS I updated my copy of fvwm from cvs and the new version failed to
spawn any modules (BEFORE I started fiddling tonight, I might add ;-) )
Does anyone have any idea what's changed?

---

From: Dominik Vogt <[email-masked]>
Date: Sat, 19 Dec 1998 17:12:49 +0100

> Does anyone have any idea what's changed?

Look into the changelog. Everything should be in there.

Dominik
-- 
Dominik Vogt, [email-masked]
Reply-To: [email-masked]

--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked].