about summary refs log tree commit diff
path: root/nptl
Commit message (Collapse)AuthorAgeFilesLines
* Implement pthread_sigqueue.Ulrich Drepper2009-06-125-2/+102
| | | | | | The kernel from 2.3.31 on supports the rt_tgsigqueueinfo syscall. Use it to implement the non-standard extension which, like sigqueue, can pass additional data to the receiving thread.
* Fix futex syscall parameter for x86 absolute timeout waits.Bryan Kadzban2009-06-112-1/+9
| | | | This affects only installations compiled for kernels older than 2.6.18.
* libc-cancellation.c cleanup.Ulrich Drepper2009-05-164-11/+35
| | | | | The unrelated function __libc_cleanup_routine should not be in this file. Move it into its own file.
* Unify source for async cancel handling.Ulrich Drepper2009-05-164-189/+12
| | | | | Unify all three places where we enable async cancellation for syscalls. Optimize a bit.
* Rename nptl/init.c to nptl/nptl-init.c.Ulrich Drepper2009-05-163-3/+9
| | | | | Needed to allow overwriting architectures init.c in csu and nptl individually. Fixes BZ #9924.
* ChangeLog entries incorrectly applied.Ulrich Drepper2009-05-151-25/+0
|
* Add missing export of fallocate64 on 32-bit platforms.Jakub Jelinek2009-05-151-0/+18
| | | | | | Due to a pasto the fallocate64 interface, introduced in glibc 2.10, isn't exported for 32-bit Linux platforms. It is too late for this now so exported them for glibc 2.11.
* Don't try to cleanup libselinux and libaudit.Jakub Jelinek2009-05-151-0/+7
| | | | | | | | Because we are not shutting down the other threads first another thread might work on a query before the process shuts down. In this case the now uninitialized libselinux and libaudit might be used. Just don't free the resources. It's not necessary anyway because the process is about to terminate.
* Fix change to prevent cancel signal in unsafe places.Ulrich Drepper2009-05-154-14/+16
| | | | | | | The bits tested to decide when to delay the return when switching off async cancel mode were wrong. Fix that. Also close a race condition in pthread_cancel where the bit indicating the cancellation is unconditionally set even if the cancel type might have changed.
* No cancel signal in unsafe places.Ulrich Drepper2009-05-153-2/+32
| | | | | | | | When disabling async cancellation we cannot return from the function call if the thread is canceled. This happens when the cancel bits have been set before async cancel is disabled but the signal hasn't been sent/received yet. Delay for as long as necessary since otherwise the signal might be received in an unsafe context.
* Add missing CHangeLog entry.Jakub Jelinek2009-04-291-0/+9
| | | | | | | | | | | 2009-01-07 Ulrich Drepper <drepper@redhat.com> * (in_flight_stack): New variable. (stack_list_del): New function. Use instead of list_del. (stack_list_add): New function. Use instead of list_add when adding to stack_cache and stack_used lists. (__reclaim_stacks): Complete operations on stack_cache and stack_used lists when the fork call interrupted another thread.
* * cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_ANDUlrich Drepper2009-04-275-4/+49
| | | | | | | | is available. * libc-cancellation.c (__libc_disable_asynccancel): Likewise. * sysdeps/x86_64/tls.h: Define THREAD_ATOMIC_AND. * sysdeps/i386/tls.h: Likewise. (tcbhead_t): Add __private_tm member.
* * sem_open.c (sem_open): Rewrite initialization of initsem toUlrich Drepper2009-04-262-8/+14
| | | | avoid warnings.
* * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):Ulrich Drepper2009-04-262-4/+9
| | | | Avoid warning by using may_alias attribute on ptrhack.
* [BZ #9963]Ulrich Drepper2009-04-231-0/+1
| | | | | | | | | | | | | | | 2009-04-22 Ulrich Drepper <drepper@redhat.com> [BZ #9963] * locales/en_PH: Fix LC_PAPER. * locales/es_CL: Likewise. * locales/es_CO: Likewise. * locales/es_MX: Likewise. * locales/es_US: Likewise. * locales/es_VE: Likewise. * locales/fil_PH: Likewise. * locales/ik_CA: Likewise. * locales/iu_CA: Likewise. * locales/tl_PH: Likewise.
* * pthread_attr_setschedparam.c (__pthread_attr_setschedparam):Ulrich Drepper2009-04-232-1/+13
| | | | | Check policy and priority for validity. Patch mostly by Zhang Xiliang <zhangxiliang@cn.fujitsu.com>.
* [BZ #5807]Ulrich Drepper2009-03-152-102/+27
| | | | | | | 2009-03-15 Ulrich Drepper <drepper@redhat.com> [BZ #5807] * string/strlen.c (strlen): Fix omission in the expression to test for NUL bytes.
* * init.c (nptl_freeres): Compile only for SHARED.Ulrich Drepper2009-03-102-3/+7
|
* * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define cvs/fedora-glibc-20090309T1421Jakub Jelinek2009-03-092-1/+13
| | | | | | | | | | FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY. 2009-03-09 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.
* * Makeconfig (%.v.i): Depend on Makeconfig.Roland McGrath2009-02-283-4/+9
| | | | Exclude % lines from initial #-comment removal.
* * wctype/wctype.h: The *_l functions are in POSIX 2008.Ulrich Drepper2009-02-262-32/+45
| | | | | | | | | | | | | | | | | | | | * wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy, wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs, wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l. * sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from 200112L to 200809L. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise. * posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and _SC_THREAD_ROBUST_PRIO_PROTECT entries. * bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and _SC_THREAD_ROBUST_PRIO_PROTECT. * posix/unistd.h: fexecve is in POSIX 2008. * time/time.h: strftime_l is in POSIX 2008. * io/sys/stat.h: futimens is in POSIX 2008. * string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008. * string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal, strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008. * stdlib/stdlib.h: mkdtemp is in POSIX 2008.
* * locale/langinfo.h: nl_langinfo_l is in POSIX 2008.Ulrich Drepper2009-02-261-1/+1
| | | | | | | | | | | | | * locale/xlocale.h: Define locale_t type. * locale/locale.h: duplocale, freelocale, newlocale, uselocale are in POSIX 2008. Don't define locale_t here. * stdlib/monetary.h: strfmon_l is in POSIX 2008. * signal/signal.h: Declare psignal and psiginfo for POSIX 2008. * stdio-common/psiginfo.c: New file. * stdio-common/psiginfo-data.h: New file. * stdio-common/psiginfo-define.h: New file. * stdio-common/Makefile (routines): Add psiginfo. * stdio-common/Versions: Export psiginfo for GLIBC_2.10.
* * ctype/ctype.h: The *_l functions are in POSIX 2008.Ulrich Drepper2009-02-262-6/+27
| | | | | | * dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in POSIX 2008. /proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
* * sysdeps/unix/sysv/linux/sysconf.c (__sysconf):Ulrich Drepper2009-02-241-0/+5
| | | | | /proc/sys/kenrel/rtsig_max doesn't exist anymore, use getrlimit instead.
* * io/sys/stat.h: The lstat functions have been mandatory since 2001.Ulrich Drepper2009-02-241-4/+4
|
* * sysdeps/unix/sysv/linux/sh/lowlevellock.S: DefineUlrich Drepper2009-02-132-2/+7
| | | | LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).
* * sysdeps/pthread/unwind-forcedunwind.c: Encrypt all functionUlrich Drepper2009-01-292-10/+32
| | | | pointer variables.
* * allocatestack.c (__free_stacks): Renamed from free_stacks.Ulrich Drepper2009-01-295-21/+58
| | | | | | | | | | | | | | | (__free_stack_cache): Removed. Change callers to call __free_stacks. * init.c (nptl_freeres): New function. (pthread_functions): Initialize ptr_freeres to nptl_freeres. * pthreadP.h: Don't declare __free_stack_cache. Declare __free_stacks. * sysdeps/pthread/unwind-forcedunwind.c (libgcc_s_handle): New variable. (pthread_cancel_init): Depend in libgcc_s_handle for decision to load DSO. Assign last. (__unwind_freeres): New function. * allocatestack.c (__reclaim_stacks): Reset in_flight_stack later for better debugging. No need to use stack_list_add here.
* * sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL):Ulrich Drepper2009-01-283-3/+114
| | | | | Add "t" to clobber list. (INTERNAL_SYSCALL_NCS): Likewise.
* * pthread_mutex_lock.c (__pthread_mutex_lock): Remove unused label out.Ulrich Drepper2009-01-252-1/+4
|
* * sysdeps/pthread/list.h (list_add): Initialize new element first.Ulrich Drepper2009-01-082-13/+7
| | | | (list_add_tail): Removed.
* * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Check andUlrich Drepper2009-01-081-10/+10
| | | | adjust the buffer alignment.
* (in_flight_stack): New variable. (stack_list_del): New function. Use ↵Ulrich Drepper2009-01-071-11/+86
| | | | instead of list_del. (stack_list_add): New function. Use instead of list_add when adding to stack_cache and stack_used lists. (__reclaim_stacks): Complete operations on stack_cache and stack_used lists when the fork call interrupted another thread.
* * init.c (__pthread_initialize_minimal_internal): Optimize testUlrich Drepper2009-01-042-16/+25
| | | | FUTEX_CLOCK_REALTIME a bit.
* (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIMEUlrich Drepper2009-01-031-2/+2
| | | | Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME instead of computing
* * init.c (__pthread_initialize_minimal_internal): Cheat a bit byUlrich Drepper2009-01-032-3/+16
| | | | | | | | only passing five parameters to FUTEX_WAIT_BITSET call. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead of computing relative timeout.
* (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead ↵Ulrich Drepper2009-01-031-19/+79
| | | | of computing relative timeout.
* * sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argumentUlrich Drepper2009-01-031-2/+2
| | | | handling.
* * init.c (__pthread_initialize_minimal_internal): Check forUlrich Drepper2009-01-033-2/+88
| | | | | | | FUTEX_CLOCK_REALTIME flag. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead of computing relative timeout.
* * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: DefineUlrich Drepper2009-01-036-6/+30
| | | | | | | | FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
* * sysdeps/x86_64/bits/select.h: New file.Ulrich Drepper2008-12-291-0/+7
|
* * pthread_mutex_lock.c (__pthread_mutex_lock): Handle only theUlrich Drepper2008-12-124-46/+107
| | | | | | | | | | | | | | | fast path here, for robust/PI/PP mutexes call __pthread_mutex_lock_full. Don't use switch, instead use a series of ifs according to their probability. (__pthread_mutex_lock_full): New function. * pthread_mutex_unlock.c: Include assert.h. (__pthread_mutex_unlock_usercnt): Handle only the fast path here, for robust/PI/PP mutexes call __pthread_mutex_unlock_full. Don't use switch, instead use a series of ifs according to their probability. (__pthread_mutex_unlock_full): New function. * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (__pthread_mutex_lock_full): Define.
* [BZ #6545]Ulrich Drepper2008-12-091-2/+2
| | | | | * sysdeps/unix/sysv/linux/bits/socket.h (SCM_CREDENTIALS): Make available only for __USE_GNU.
* * sysdeps/x86_64/tls.h (tcbhead_t): Add fields reserved for TMUlrich Drepper2008-12-082-1/+16
| | | | | | implementation. Add necessary padding and. * descr.h (struct pthread): Increase padding for tcbhead_t to 24 words.
* (struct pthread): Increase padding for tcbhead_t to 24 words.Ulrich Drepper2008-12-081-2/+2
|
* Move 2 ChangeLog entries to correct ChangeLog.Jakub Jelinek2008-12-081-10/+0
| | | | | | | | | | | | 2008-11-24 Arkadiusz Miśkiewicz <arekm@maven.pl> * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG instead of doing things manually. 2008-11-26 Chris Steel <chris.steel.lnx@googlemail.com> * posix/regex_internal.h (build_wcs_upper_buffer): Return type is reg_error_t.
* * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REGUlrich Drepper2008-12-061-0/+5
| | | | instead of doing things manually.
* * posix/regex_internal.h (build_wcs_upper_buffer):Ulrich Drepper2008-12-062-1/+8
| | | | Return type is reg_error_t.
* * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define FUTEX_WAIT_BITSETUlrich Drepper2008-12-051-0/+5
| | | | and FUTEX_WAKE_BITSET.
* * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): RecognizeUlrich Drepper2008-12-036-12/+31
| | | | | | | | | ESRCH return value. (_nss_dns_gethostbyname4_r): Likewise. * resolv/res_init.c (__res_vinit): Initialize nscount to zero. * sysdeps/posix/getaddrinfo.c (gaih_inet): In case we use gethostbyname4_r, we don't have a separate IPv6 status, so copy the no_data variable.