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: Thread-, Signal- and Cancellation-safety documentation


On Mon, Apr 08, 2013 at 11:10:25AM +0200, Florian Weimer wrote:
> On 03/26/2013 07:43 AM, Rich Felker wrote:
> >I know your work is just documenting existing practice, but unless
> >there's a clause in POSIX (and now, C11 too, since C11 has threads)
> >which allows this, I think the underlying issue should be fixed. The
> >cleanest fix I can envision would be atomically replacing the pointer
> >to the locale object once the new one is prepared. This would
> >eliminate the need for readers to lock anything.
> 
> So we don't deallocate locale data, ever?  Then this might work.

I don't see a clean way to deallocate it without making things slow.

> Straightforward rwlocks for the character classification functions
> wouldn't work because even a shared lock results in hardware-level
> contention, killing performance.

Exactly. Character-classification functions only need LC_CTYPE though.
This is why I'm suggesting the above-described approach.

Rich


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