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:
> * 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.)

All AS-safe functions have the potential to modify errno (since all
functions in the standard library do); many are even required to
modify it. When using any library function in a signal handler, it's
the programmer's responsibility to save errno and restore its value
before returning.

Rich


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