Age | Commit message (Collapse) | Author |
|
replace USE_TLS, HAVE___THREAD and USE___THREAD with __UCLIBC_HAS_TLS__
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
* share Sys V semaphores in order to get appropriate SEM_UNDO semantics.
* correct guardaddr in pthread_free() for TLS case
* move spinlock unlocking before restart()
* When exit was called from a signal handler, the restart
from the manager processing the exit request instead restarted the thread
in pthread_cond_timedwait.
(see http://sources.redhat.com/ml/libc-ports/2006-05/msg00000.html)
|
|
|
|
|
|
|
|
import glibc updates) while keeping the few bugfixes ... idea is to keep both old and new linuxthreads around so we can hack on the new version while delivering the old stable version to end users
|
|
Bernd Schmidt found/fixed this problem in uClibc:
http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=882&group_id=17&atid=141
Basically, the uClinux dist includes a few thread demos - thdm and bcdm -
running them simultaneously sometimes causes bus errors.
Bernd wrote:
>They occur in pthread_handle_sigrestart; thread_self returns a bogus value.
>I managed to capture a debugging log, it's attached as bad-log. If you
>look at it you'll notice that the initial stack bounds are bogus: bottom
>of stack is higher than top of stack. This appears to be because of a bug
>in NOMMU_INITIAL_THREAD_BOUNDS(tos,bos): if a new thread has a BOS equal
>to the initial thread's current TOS, it'll munge the initial thread's
>stack bounds. Fixed with the attached patch, which I've committed.
>This should fix the crashes people have seen, but since the bug was always
>hard to reproduce, I can't be 100% certain they are gone. Please retest,
>everyone...
This patch was made against our cvs, which has an older version of uClibc
in it - this code was recently moved from internals.h to descr.h in the
uclibc svn, but it still has the same problem
|
|
a new file descr.h ... also redo thread_desc init by specifying members in the struct by name rather than position
|