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: Saving errno around signal handlers


On Tue, Mar 04, 2014 at 01:21:50AM -0500, Carlos O'Donell wrote:
> On 03/03/2014 06:42 PM, Roland McGrath wrote:
> >> On 02/28/2014 10:19 PM, Roland McGrath wrote:
> >>>> POSIX has green-lighted saving errno around signal handlers.
> >>>
> >>> I don't even know what you might think that means.  Whenever talking about
> >>> a change in a standard, provide a reference to the actual change in the
> >>> actual standard.
> >>
> >> It's about this change:
> >>
> >>    <http://austingroupbugs.net/view.php?id=807>
> > 
> > So the standard is not going to be changed to require that signal handling
> > save and restore errno implicitly.  (It would have been a highly suspect
> > change.)  It's being clarified to say that the implementation is free to do
> > so.  But applications cannot assume any such thing, so any such future
> > application remains as broken as such applications are today.  I see no
> > rationale even slightly compelling for making libc do this magic.  In fact,
> > it would clearly do harm to people developing applications on glibc-based
> > systems but intending to write POSIX-conformant code.
> 
> In that it would mask potential errors in the signal handling code?

In fairness, I believe these errors are already "masked" by being
extremely rare race conditions...

Still, I'm largely against this proposal for an invasive, error-prone,
signal-latency-adding change to glibc just to mask the 0.0001% of
errno+signal handler race conditions that actually reach *buggy*
applications...

Rich


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