Re: nptl 0.31
george anzinger <[email protected]>
| Newsgroups | gmane.comp.lib.phil |
|---|---|
| Message-ID | <[email protected]> |
Ulrich Drepper wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I've uploaded > > http://people.redhat.com/drepper/nptl/nptl-0.31.tar.bz2 > ftp://people.redhat.com/drepper/nptl/nptl-0.31.tar.bz2 > > Quite a few changes since the last code drop: > > - Support for all of the _POSIX_CLOCK_SELECTION option is added. > This mainly means the pthread_condattr_[gs]etclock functions and > the underlying functionality in pthread_cond_timedwait. The > clock_nanosleep function was already available. The CLOCK_MONOTONIC > clock works only if the kernel has the support. > > - the atomic.h header is now in glibc itself. Several __lll* macros > introduced for various architectures could be removed afterwards. > > - lots of cleanups. Symbol versions have been corrected. > > - little optimizations here and there. Nothing major but it might add > up. The most promising change is the early release of the internal > lock before waking up other threads. > > - pretty bad bug in x86's pthread_cond_timedwait. This explains the > few crashes we have seen (no reports from the outside) > > - implementation of POSIX timers based on kernel support. This gets > rid of the ugly userlevel code. > > There is one big issues with this: the timer_t type for 64bit archs > has changed. We can handle this with symbol versioning, no problem. > But this change hits a hole in the standard. I've fixed an > interpretation request. If the result is to not allow the behavior > currently implemented the timer_t change has to be undone for 64bit > archs. Therefore nobody must rely on the current librt interface > to be stable on 64bit archs. The changes will be undone if necessary > without consideration of code build using the new code. > Um, what was it? I have a patch going in to keep the timer_t a 32-bit value. Not being really 64-bit proficient, I missed this the first time around. > -- George Anzinger [email protected] High-res-timers: http://sourceforge.net/projects/high-res-timers/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml