Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jan 1997 18:44:31 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        bde@zeta.org.au, cracauer@wavehh.hanse.de, freebsd-current@FreeBSD.ORG
Subject:   Re: i586-optimized copyin/out still broken
Message-ID:  <199701070144.SAA13361@phaeton.artisoft.com>
In-Reply-To: <199701030215.NAA13793@godzilla.zeta.org.au> from "Bruce Evans" at Jan 3, 97 01:15:47 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> >I filled a PR (2142) about it, maybe it could be closed then.
> 
> That is much harder to fix.  It is caused by the floating point state
> not being preserved across signal handlers.  There are few, if any,
> valid and useful uses for floating point in signal handlers, because
> an ANSI signal handler must not make any accesses to a global object
> other than assignment to ones of type `volatile sig_atomic_t'.  Thus
> preserving the state would mainly slow down signal handlers.

Is it possible to do a lazy save of the FPU state?

If so, it would be a compare/noop until someone did FPU stuff in
their signal handler.

"The Proper Thing" is probably to set a flag and do the floating
point stuff as a result of a signal flag instead of in a signal
handler -- that's just good practice anyway, since signals are
not events, and it tends to close (a bit) some of the race windows
in signals being stupid.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701070144.SAA13361>