summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/pthread.c
AgeCommit message (Collapse)Author
2016-05-18remove linuxthreads.new, rename linuxthreads.oldWaldemar Brodkorb
Linuxthreads.new isn't really useful with the existence of NPTL/TLS for well supported architectures. There is no reason to use LT.new for ARM/MIPS or other architectures supporting NPTL/TLS. It is not available for noMMU architectures like Blackfin or FR-V. To simplify the live of the few uClibc-ng developers, LT.new is removed and LT.old is renamed to LT. LINUXTHREADS_OLD -> UCLIBC_HAS_LINUXTHREADS
2015-02-14Revert "resolve merge"Waldemar Brodkorb
This reverts commit 6b6ede3d15f04fe825cfa9f697507457e3640344.
2015-02-14resolve mergeWaldemar Brodkorb
2012-06-15linuxthreads: guard *tsd* related stuff correctlyPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15linuxthreads: use __UCLIBC_HAS_TLS__ consistentlyPeter S. Mazinger
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>
2012-06-15geopt.c, LT new/pthread.c: s/__mempcpy/mempcpy/Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15signal.h: provide prototype for __libc_sigaction and remove all othersPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-10-27pthreads: fix build when DNS resolver is not enabled.Bernhard Reutner-Fischer
Resolver state is only available if DNS resolver is enabled. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2011-10-27linuxthreads: fix typo in __UCLIBC_HAS_IPv4__ macroCarmelo Amoroso
IPv4 should has 'V' capital letter. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2011-03-03avoid warnings on _STACK_GROWS_* usagePeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2010-12-23linuxthreads: Fix compilation breakageMatt Fleming
With commit "resolv.c: add support for per thread res_state" (aab4df0fb51660300559f5f29290709db2f7bfee) _res symbol is now marked as hidden in an attempt to make the resolver per-thread. Signed-off-by: Matt Fleming <matthew.fleming@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-04-14linuxthreads.new: initialize stdio lockingTimo Teräs
uClibc requires the threading library to enable locking for stdio, or the locking is not done at all. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-10-17linuxthreads: check TLS_DTV_AT_TP define correctlyAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-03-12linuxthreads fixes from Will Newton (will.newton AT gmail.com):Denis Vlasenko
* 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)
2008-12-10*: remove some __libc_XXX functions:Denis Vlasenko
__libc_accept __libc_close __libc_connect __libc_creat __libc_creat64 __libc_fsync __libc_lseek __libc_lseek64 __libc_msync __libc_nanosleep __libc_open __libc_open64 __libc_pause __libc_read __libc_readv __libc_recv __libc_recvfrom __libc_recvmsg __libc_send __libc_sendmsg __libc_sendto __libc_tcdrain __libc_wait __libc_waitpid __libc_write __libc_writev They were removed from glibc 1 May 2004: http://sources.redhat.com/ml/libc-hacker/2004-05/msg00001.html
2008-12-01hostid: improve extremely unreadable partsDenis Vlasenko
*: remove checks of sigaction and sigprocmask results in cases where they clearly can't fail: sigaction(known_good_sig) sigprocmask(known_good_how) text data bss dec hex filename - 393 4 0 397 18d libc/pwd_grp/lckpwdf.o + 382 4 0 386 182 libc/pwd_grp/lckpwdf.o - 56 0 0 56 38 libc/signal/sigblock.o + 44 0 0 44 2c libc/signal/sigblock.o - 211 0 0 211 d3 libc/signal/sigset.o + 202 0 0 202 ca libc/signal/sigset.o - 56 0 0 56 38 libc/signal/sigsetmask.o + 44 0 0 44 2c libc/signal/sigsetmask.o - 309 0 0 309 135 libc/unistd/sleep.o + 256 0 0 256 100 libc/unistd/sleep.o
2008-12-01on Bernd's request, remove commented-out code snippetsDenis Vlasenko
2008-12-01optimize signal mask ops. comment out "impossible" errorsDenis Vlasenko
text data bss dec hex filename - 1179 13 2 1194 4aa libc/misc/syslog/syslog.o + 1165 13 2 1180 49c libc/misc/syslog/syslog.o - 435 4 0 439 1b7 libc/pwd_grp/lckpwdf.o + 393 4 0 397 18d libc/pwd_grp/lckpwdf.o - 38 0 0 38 26 libc/signal/sigandset.o + 32 0 0 32 20 libc/signal/sigandset.o - 63 0 0 63 3f libc/signal/sigblock.o + 56 0 0 56 38 libc/signal/sigblock.o - 22 0 0 22 16 libc/signal/sigempty.o + 20 0 0 20 14 libc/signal/sigempty.o - 25 0 0 25 19 libc/signal/sigfillset.o + 20 0 0 20 14 libc/signal/sigfillset.o - 34 0 0 34 22 libc/signal/sigisempty.o + 16 0 0 16 10 libc/signal/sigisempty.o - 38 0 0 38 26 libc/signal/sigorset.o + 32 0 0 32 20 libc/signal/sigorset.o - 119 0 0 119 77 libc/signal/sigpause.o + 113 0 0 113 71 libc/signal/sigpause.o - 215 0 0 215 d7 libc/signal/sigset.o + 211 0 0 211 d3 libc/signal/sigset.o - 63 0 0 63 3f libc/signal/sigsetmask.o + 56 0 0 56 38 libc/signal/sigsetmask.o - 194 0 1 195 c3 libc/stdlib/abort.o + 183 0 1 184 b8 libc/stdlib/abort.o - 323 0 0 323 143 libc/unistd/sleep.o + 309 0 0 309 135 libc/unistd/sleep.o
2008-11-29shring sugnal-relared stuff a bit. BTW why constant memset is not inlined by ↵Denis Vlasenko
gcc? text data bss dec hex filename - 38015 18096 8636 64747 fceb lib/libpthread-0.9.30-svn.so + 38001 18096 8636 64733 fcdd lib/libpthread-0.9.30-svn.so - 274842 1835 19012 295689 48309 lib/libuClibc-0.9.30-svn.so + 274779 1835 19012 295626 482ca lib/libuClibc-0.9.30-svn.so
2008-10-03- use c89-style commentsBernhard Reutner-Fischer
Closes issue #5194
2008-09-25- if we only have socket support then there is no resolver state:Bernhard Reutner-Fischer
In function `__pthread_reset_main_thread': undefined reference to `_res'
2008-07-23- fix inline keywordBernhard Reutner-Fischer
2007-01-11Peter Mazinger pointed out that my last commit was faulty.Joakim Tjernlund
This should fix it.
2006-03-24Now new linuxthreads builds w/ SHAREDPeter S. Mazinger
2006-03-24Remove redundant redefine of __clonePeter S. Mazinger
2006-03-09Get rid of forwarded __pthread_attr_initPeter S. Mazinger
2006-03-09Remove unneeded ; after *_aliasPeter S. Mazinger
2006-03-05use sched_yield, not pthread_yieldMike Frysinger
2006-01-31s/IS_IN_linuxthreads/IS_IN_libpthread/, some prototypes, correct ↵Peter S. Mazinger
Makefile.in, disable __res_state, unavailable in resolv.h
2006-01-31initial import of latest linuxthreadsMike Frysinger
2005-11-15rename current stable linuxthreads to linuxthreads.old to prepare for import ↵Mike Frysinger
of latest glibc version
2005-11-15revert linuxthreads to pre rev 11377 (i.e. before the massive attempt to ↵Mike Frysinger
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
2005-11-07implement __pthread_init_max_stacksize() which is required for FLOATING_STACKSMike Frysinger
2005-09-09newer linuxthreads renamed the function invalid_handle() to nonexisting_handle()Mike Frysinger
2005-09-09sync with glibc by moving the thread_desc stuff out of internals.h and into ↵Mike Frysinger
a new file descr.h ... also redo thread_desc init by specifying members in the struct by name rather than position
2005-07-01update the debug macros so they build with newer gcc versionsMike Frysinger
2005-05-28I added, then removed and now I add this again :). Hopefully I got it rigth ↵Joakim Tjernlund
this time.
2005-01-31Oops, remove extra sigaddset() call. Don't know how that one got there.Joakim Tjernlund
2005-01-29Hi Erik and ManuelEric Andersen
Long time no see :) It appears uClibc pthreads native debugging is broken w.r.t thread exit handling in uClibc(at least on PPC). When debugging ex7, gdb(6.2.1) bails out as soon as a thread exits. I found a comment in gdb that TD_DEATH handling was broken for glibc 2.3.1, so I figured that maybe it was broken in uClibc also. I added a #if 0 #endif in pthread_exit( see patch below) and then gdb behaved again. While looking into this I found a few differences( included in the patch) between glibc and uClibc. Don't know if these makes a difference, but I leave that to you to decide. Jocke
2004-10-31Revert Peter's __lib_gettimeofday patch. There's the minor issue ofManuel Novoa III
adding cruft to include/sys/time.h. But also, there's no sense in making changes like this until we decide how we're going to approach the hidden symbol transition.
2004-10-19Peter S. Mazinger writes:Eric Andersen
Hello! Would the attached patch be acceptable (maybe instead of __libc_gettimeofday using __gettimeofday) We have some issues, see http://bugs.gentoo.org/show_bug.cgi?id=65892
2004-02-11New stdio core. Should be more maintainable. Fixes a couple of bugs.Manuel Novoa III
Codepaths streamlined. Improved performance for nonthreaded apps when linked with a thread-enabled libc. Minor iconv bug and some locale/thread related startup issues fixed. These showed up in getting a gcj-compiled java helloworld app running. Removed some old extension functions... _stdio_fdout and _stdio_fsfopen.
2004-01-16s/UCLIBC_HAS_MMU/ARCH_HAS_MMU/gEric Andersen
2003-08-01Add a new *scanf implementation, includeing the *wscanf functions.Manuel Novoa III
Should be standards compliant and with several optional features, including support for hexadecimal float notation, locale awareness, glibc-like locale-specific digit grouping with the `'' flag, and positional arg support. I tested it pretty well (finding several bugs in glibc's scanf in the process), but it is brand new so be aware. The *wprintf functions now support floating point output. Also, a couple of bugs were squashed. Finally, %a/%A conversions are now implemented. Implement the glibc xlocale interface for thread-specific locale support. Also add the various *_l(args, locale_t loc_arg) funcs. NOTE!!! setlocale() is NOT threadsafe! NOTE!!! The strto{floating point} conversion functions are now locale aware. The also now support hexadecimal floating point notation. Add the wcsto{floating point} conversion functions. Fix a bug in mktime() related to dst. Note that unlike glibc's mktime, uClibc's version always normalizes the struct tm before attempting to determine the correct dst setting if tm_isdst == -1 on entry. Add a stub version of the libintl functions. (untested) Fixed a known memory leak in setlocale() related to the collation data. Add lots of new config options (which Erik agreed to sort out :-), including finally exposing some of the stripped down stdio configs. Be careful with those though, as they haven't been tested in a long time. (temporary) GOTCHAs... The ctype functions are currently incorrect for 8-bit locales. They will be fixed shortly. The ctype functions are now table-based, resulting in larger staticly linked binaries. I'll be adding an option to use the old approach in the stub locale configuration.
2003-05-30In a number of places we erroneously used tests such as '#ifdef PIC' when weEric Andersen
should instead have been testing for '#ifdef __PIC__'. This resulted in NON-PIC code getting mixed into the shared library. Oops!!! -Erik
2003-03-04Patch from Stefan Allius adding the function 'thread_self_stack'Eric Andersen
from glibc 2.3 that is needed for pthreads to compile for SuperH.
2003-02-27Major update for pthreads, based in large part on improvementsEric Andersen
from glibc 2.3. This should make threads much more efficient. -Erik
2003-01-30Patch from Christian Krause:Eric Andersen
I found a problem in uClibc in libpthread/linuxthres/condvar.c: pthread_cond_timedwait never uses rt singals uClibc has two implementations of pthread_cond_timewait - pthread_cond_timedwait_relative_old using the "normal" signals and pthread_cond_timedwait_relative_new usign the rt signals (for kernels >= 2.2). The function pointer pthread_cond_tw_rel is initialised with the old function. In "__pthread_init_condvar(int)" this pointer is set to the new function using rt signals, but "__pthread_init_condvar" is never called in the uClibc. The following patch solves this issue, so that __pthread_init_condvars is called and the function pointer is always initialised with the correct function. regards, christian
2003-01-23Just be a bit less different from latest glibc version in commentsEric Andersen
and in the files where variables live.
2003-01-23Per patch from Nathan Field at ghs.com, fix __pthread_initialize_manager so itEric Andersen
locks before calling clone when under a debugger, and unlocks on success or failure of clone when under a debugger.