Age | Commit message (Collapse) | Author |
|
Add support for the new FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI
options of futex.
|
|
It just happens that __pthread_enable_asynccancel doesn't modify the $rdi
register. But this isn't guaranteed. Hence we reload the register after
the calls.
|
|
timeout.
|
|
|
|
timeout.
|
|
|
|
timeout.
|
|
|
|
|
|
|
|
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
|
|
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
This affects only installations compiled for kernels older than 2.6.18.
|
|
The unrelated function __libc_cleanup_routine should not be in
this file. Move it into its own file.
|
|
Unify all three places where we enable async cancellation for
syscalls. Optimize a bit.
|
|
Needed to allow overwriting architectures init.c in csu and nptl
individually. Fixes BZ #9924.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
avoid warnings.
|
|
Avoid warning by using may_alias attribute on ptrhack.
|
|
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.
|
|
Check policy and priority for validity.
Patch mostly by Zhang Xiliang <zhangxiliang@cn.fujitsu.com>.
|
|
2009-03-15 Ulrich Drepper <drepper@redhat.com>
[BZ #5807]
* string/strlen.c (strlen): Fix omission in the expression to test
for NUL bytes.
|
|
|
|
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.
|
|
Exclude % lines from initial #-comment removal.
|
|
* 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/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.
|
|
* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in
POSIX 2008.
/proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
|
|
/proc/sys/kenrel/rtsig_max doesn't exist anymore, use getrlimit
instead.
|
|
|
|
LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).
|
|
pointer variables.
|
|
(__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.
|
|
Add "t" to clobber list.
(INTERNAL_SYSCALL_NCS): Likewise.
|
|
|
|
(list_add_tail): Removed.
|