about summary refs log tree commit diff
path: root/nptl
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Moved alpha to ports repository.Roland McGrath2008-11-2628-1466/+6
| | | | | | | | | | | 2008-11-25 Roland McGrath <roland@redhat.com> * sysdeps/alpha, sysdeps/unix/bsd/osf/alpha, sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha, sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha, sysdeps/mach/alpha, sysdeps/mach/hurd/alpha: Subdirectories moved to ports repository. * configure.in (base_machine): Remove alpha case.
* [BZ #7009] cvs/fedora-glibc-20081112T2008Ulrich Drepper2008-11-125-6/+202
|
* * bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, Jakub Jelinek2008-11-072-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type of the thread variable instead of void *. * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. * include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust __libc_tsd_address arguments. Remove union hack. * include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. * sunrpc/rpc_thread.c (RPC_VARS): Likewise. (__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): Adjust __libc_tsd_{set,get} arguments. * ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. * locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} arguments. * locale/lc-ctype.c (_nl_postload_ctype): Likewise. * locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. (LOCALE): Adjust __libc_tsd_define arguments. * locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get arguments. (LOCALE): Adjust __libc_tsd_define arguments. * sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments. nptl/ * sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments. 2008-11-07 Jakub Jelinek <jakub@redhat.com> * bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type of the thread variable instead of void *. * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. * include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust __libc_tsd_address arguments. Remove union hack. * include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. * sunrpc/rpc_thread.c (RPC_VARS): Likewise. (__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): Adjust __libc_tsd_{set,get} arguments. * ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. * locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} arguments. * locale/lc-ctype.c (_nl_postload_ctype): Likewise. * locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. (LOCALE): Adjust __libc_tsd_define arguments. * locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get arguments. (LOCALE): Adjust __libc_tsd_define arguments. * sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments.
* [BZ #6955]Ulrich Drepper2008-11-015-11/+44
| | | | | | | | | | 2008-11-01 Ulrich Drepper <drepper@redhat.com> [BZ #6955] * pthread_mutex_lock.c: Add support for private PI mutexes. * pthread_mutex_timedlock.c: Likewise. * pthread_mutex_trylock.c: Likewise. * pthread_mutex_unlock.c: Likewise. Patch mostly by Ben Jackson <ben@ben.com>.
* [BZ #6843]Ulrich Drepper2008-11-012-2/+8
| | | | | | | 2008-10-31 Ulrich Drepper <drepper@redhat.com> [BZ #6843] * sysdeps/pthread/gai_misc.h (__gai_create_helper_thread): Increase stack size for helper thread.
* * misc/syslog.c (openlog_internal): Fix __have_sock_cloexecUlrich Drepper2008-10-222-1/+11
| | | | initialization.
* .Ulrich Drepper2008-10-061-0/+5
|
* * sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrierUlrich Drepper2008-10-061-1/+4
| | | | to force runp->refcntr to be read from memory.
* * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock, Andreas Jaeger2008-09-232-9/+17
| | | | | | | | | | | | lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, lll_timedlock, lll_robust_timedlock, lll_unlock, lll_robust_unlock): Promote private to int. 2008-09-08 Richard Guenther <rguenther@suse.de> * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock, lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, lll_timedlock, lll_robust_timedlock, lll_unlock, lll_robust_unlock): Promote private to int.