You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Rich Felker
e803829e6b
fix potential deadlock bug in libc-internal locking logic
if a multithreaded program became non-multithreaded (i.e. all other
threads exited) while one thread held an internal lock, the remaining
thread would fail to release the lock. the the program then became
multithreaded again at a later time, any further attempts to obtain
the lock would deadlock permanently.
the underlying cause is that the value of libc.threads_minus_1 at
unlock time might not match the value at lock time. one solution would
be returning a flag to the caller indicating whether the lock was
taken and needs to be unlocked, but there is a simpler solution: using
the lock itself as such a flag.
note that this flag is not needed anyway for correctness; if the lock
is not held, the unlock code is harmless. however, the memory
synchronization properties associated with a_store are costly on some
archs, so it's best to avoid executing the unlock code when it is
unnecessary.
13 years ago
..
aio
support configurable page size on mips, powerpc and microblaze
13 years ago
complex
complex: add C11 CMPLX macros and replace cpack with them
14 years ago
conf
correct the sysconf value for RTSIG_MAX
13 years ago
crypt
comment potentially-confusing use of struct crypt_data type
13 years ago
ctype
fix types for wctype_t and wctrans_t
13 years ago
dirent
refactor headers, especially alltypes.h, and improve C++ ABI compat
13 years ago
env
support configurable page size on mips, powerpc and microblaze
13 years ago
errno
fix typo in newly-added error message for EOWNERDEAD
13 years ago
exit
add support for init/fini array in main program, and greatly simplify
13 years ago
fcntl
provide emulation of fcntl F_DUPFD_CLOEXEC on old kernels
13 years ago
fenv
fix invalid instruction mnemonics in powerpc fenv asm
13 years ago
internal
fix potential deadlock bug in libc-internal locking logic
13 years ago
ipc
prevent shmget from allocating objects that overflow ptrdiff_t
13 years ago
ldso
support configurable page size on mips, powerpc and microblaze
13 years ago
legacy
support configurable page size on mips, powerpc and microblaze
13 years ago
linux
fix the prototype of settimeofday to follow the original BSD declaration
13 years ago
locale
remove spurious tmp file present since initial git check-in
13 years ago
malloc
fix potential deadlock bug in libc-internal locking logic
13 years ago
math
fix x86_64 lrintl asm, again
13 years ago
misc
remove incorrect cancellation points from realpath
13 years ago
mman
support configurable page size on mips, powerpc and microblaze
13 years ago
mq
use restrict everywhere it's required by c99 and/or posix 2008
14 years ago
multibyte
fix failure of mbsrtowcs to record stop position when dest is full
13 years ago
network
fix regression in dn_expand/reverse dns
13 years ago
passwd
change uid_t, gid_t, and id_t to unsigned types
13 years ago
prng
improve the quality of output from rand_r
13 years ago
process
optimize posix_spawn to avoid spurious sigaction syscalls
13 years ago
regex
revert regex "cleanup" that seems unjustified and may break backtracking
13 years ago
sched
add pthread_setaffinity_np and pthread_getaffinity_np functions
13 years ago
search
make tdestroy allow null function pointer if no destructor is needed
13 years ago
select
remove __SYSCALL_SSLEN arch macro in favor of using public _NSIG
13 years ago
setjmp
remove fenv saving/loading code from setjmp/longjmp on arm
14 years ago
signal
fix sigemptyset and sigfillset for mips
13 years ago
stat
make fchdir, fchmod, fchown, and fstat support O_PATH file descriptors
13 years ago
stdio
fix special-case breakage in popen due to reversed argument order
13 years ago
stdlib
make fcvt decimal point location for zero make more sense
13 years ago
string
optimized C memcpy
13 years ago
temp
fix typo in comment in __randname
13 years ago
termios
legacy junk compatibility grab-bag
14 years ago
thread
fix potential deadlock bug in libc-internal locking logic
13 years ago
time
add the %s (seconds since the epoch) format to strftime
13 years ago
unistd
fix missing return value warning in faccessat, minor cleanup
13 years ago