This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Consensus on MT-, AS- and AC-Safety docs.


On Tue, Nov 19, 2013 at 10:39:22PM +0000, Joseph S. Myers wrote:
> On Tue, 19 Nov 2013, Carlos O'Donell wrote:
> 
> > Regarding the documenting of a bug for which a patch exists, that is
> > now in Alex's court to remove the documentation for that since you've
> > just checked in your patch for powerpc-nofpu floating point state
> > after Adhemerval's (IBM) review.
> 
> Although the simfpu annotations are now obsolete, there's still I think a 
> use for another annotation or two for affected functions, as a matter of 
> AS-Safety not MT-Safety:
> 
> * libm functions generally may set the thread-local errno.  If a signal 
> handler calls such a function without saving and restoring errno, whatever 
> code in the thread was interrupted may see an unexpected errno change, and 
> libc code may not be robust against errno changing asynchronously during a 
> libc function.  (I don't know if there are functions beyond the libm and 
> strtod/atof families that are AS-Safe but with an errno caveat.)
> 
This could be solved by wrapping a handler in function that saves and
restores errno. You could make functions also safe in this regard or
decide that implementing solution is too expensive.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]