In article <[EMAIL PROTECTED]>,
Bruce Evans  <[EMAIL PROTECTED]> wrote:
> On Tue, 27 May 2003, Terry Lambert wrote:
> 
> > BTW: signal stacks are irrelevent; technically, you are not
> > allowed to do floating point in signal handlers anyway.  8-).
> 
> Not true.  Signal handlers can do almost anything with local variables.
> The main relevant restrictions on them is that they must not access
> any static or global variables (other than write-only accesses to
> objects whose type is volatile sig_atomic_t) or call any functions
> that might make such accesses (which rules out calling most functions
> including everything in libm).

Those are the rules set forth by the C standard, but POSIX.1 demands
much more from the implementation.  There's a whole list of functions
that POSIX says must be safely callable from signal handlers.  Almost
all of the I/O calls are included.  Even fork and exec[lv]e must be
callable from signal handlers.

John
-- 
  John Polstra
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Two buttocks cannot avoid friction."                     -- Malawi saying
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to