| Commit message (Expand) | Author | Age | Files | Lines |
| * | add isastream (obsolete STREAMS junk)•••apparently some packages see stropts.h and want to be able to use
this. the implementation checks that the file descriptor is valid by
using fcntl/F_GETFD so it can report an error if not (as specified).
| Rich Felker | 2012-05-06 | 1 | -0/+7 |
| * | implement stub versions of sched_*•••these actually work, but for now they prohibit actually setting
priority levels and report min/max priority as 0.
| Rich Felker | 2012-05-03 | 1 | -10/+0 |
| * | ditch the priority inheritance locks; use malloc's version of lock•••i did some testing trying to switch malloc to use the new internal
lock with priority inheritance, and my malloc contention test got
20-100 times slower. if priority inheritance futexes are this slow,
it's simply too high a price to pay for avoiding priority inversion.
maybe we can consider them somewhere down the road once the kernel
folks get their act together on this (and perferably don't link it to
glibc's inefficient lock API)...
as such, i've switch __lock to use malloc's implementation of
lightweight locks, and updated all the users of the code to use an
array with a waiter count for their locks. this should give optimal
performance in the vast majority of cases, and it's simple.
malloc is still using its own internal copy of the lock code because
it seems to yield measurably better performance with -O3 when it's
inlined (20% or more difference in the contention stress test).
| Rich Felker | 2012-04-24 | 1 | -9/+9 |
| * | implement getusershell, etc. legacy functions•••I actually wrote these a month ago but forgot to integrate them. ugly,
probably-harmful-to-use functions, but some legacy apps want them...
| Rich Felker | 2012-04-22 | 1 | -0/+33 |
| * | add getresuid and getresgid syscall wrappers | Rich Felker | 2012-04-22 | 2 | -0/+16 |
| * | wordexp must set the we_offs entries of we_wordv to null pointers | Rich Felker | 2012-04-16 | 1 | -0/+4 |
| * | fix crash in wordfree if we_offs is not initialized by the caller•••I'm not sure if it's legal for wordexp to modify this field, but this
is the only easy/straightforward fix, and applications should not
care. if it's an issue, i can work out a different (but more complex)
solution later.
| Rich Felker | 2012-04-16 | 1 | -0/+2 |
| * | implement a64l and l64a (legacy xsi stuff) | Rich Felker | 2012-03-01 | 1 | -0/+26 |
| * | fix (hopefully) PTRACE_TRACEME (command 0) argument handling | Rich Felker | 2012-02-23 | 1 | -2/+2 |
| * | fix get_current_dir_name behavior | Rich Felker | 2012-02-17 | 1 | -2/+6 |
| * | add get_current_dir_name function | Rich Felker | 2012-02-17 | 1 | -0/+12 |
| * | add legacy futimes and lutimes functions•••based on patch by sh4rm4. these functions are deprecated; futimens and
utimensat should be used instead in new programs.
| Rich Felker | 2012-01-24 | 2 | -0/+26 |
| * | use prlimit syscall for getrlimit/setrlimit•••this allows the full range of 64-bit limit arguments even on 32-bit
systems. fallback to the old syscalls on old kernels that don't
support prlimit.
| Rich Felker | 2012-01-20 | 2 | -4/+14 |
| * | add prlimit syscall wrapper | Rich Felker | 2012-01-20 | 1 | -0/+8 |
| * | alias basename to glibc name for it, to meet abi goals•••note that regardless of the name used, basename is always conformant.
it never takes on the bogus gnu behavior, unlike glibc where basename
is nonconformant when declared manually without including libgen.h.
| Rich Felker | 2012-01-18 | 1 | -0/+3 |
| * | fix ptrace (maybe) | Rich Felker | 2011-09-16 | 1 | -1/+8 |
| * | implement ptrace syscall wrapper (untested) | Rich Felker | 2011-09-15 | 1 | -0/+18 |
| * | remove some stray trailing space characters | Rich Felker | 2011-09-13 | 1 | -1/+1 |
| * | fix some bugs in setxid and update setrlimit to use __synccall•••setrlimit is supposed to be per-process, not per-thread, but again
linux gets it wrong. work around this in userspace. not only is it
needed for correctness; setxid also depends on the resource limits for
all threads being the same to avoid situations where temporarily
unlimiting the limit succeeds in some threads but fails in others.
| Rich Felker | 2011-07-30 | 1 | -2/+27 |
| * | check for fd exhaustion in forkpty•••we cannot report failure after forking, so the idea is to ensure prior
to fork that fd 0,1,2 exist. this will prevent dup2 from possibly
hitting a resource limit and failing in the child process. fcntl
rather than dup2 is used prior to forking to avoid race conditions.
| Rich Felker | 2011-07-22 | 1 | -2/+15 |
| * | incorrect check for open failure in openpty function•••-1, not 0, indicates failure
| Rich Felker | 2011-07-22 | 1 | -1/+1 |
| * | wordexp cannot use we_offs unless WRDE_DOOFFS flag is set•••previously, a potentially-indeterminate value from we_offs was being
used, resulting in wrong we_wordc and subsequent crashes in the
caller.
| Rich Felker | 2011-06-25 | 1 | -1/+2 |
| * | fix memory leak on failure in realpath | Rich Felker | 2011-06-18 | 1 | -4/+4 |
| * | add useless, obsolescent function ulimit | Rich Felker | 2011-05-29 | 1 | -0/+19 |
| * | properly create new session/controlling terminal in forkpty | Rich Felker | 2011-04-20 | 1 | -1/+4 |
| * | implement (nonstandard) forkpty | Rich Felker | 2011-04-20 | 1 | -0/+22 |
| * | block cancellation in wordexp, handle more errors | Rich Felker | 2011-04-19 | 1 | -2/+17 |
| * | avoid malloc of potentially-large string in wordexp | Rich Felker | 2011-04-19 | 1 | -10/+28 |
| * | protect ftw and nftw against cancellation | Rich Felker | 2011-04-18 | 1 | -1/+6 |
| * | protect syslog against cancellation•••these functions are allowed to be cancellation points, but then we
would have to install cleanup handlers to avoid termination with locks
held.
| Rich Felker | 2011-04-18 | 1 | -5/+19 |
| * | minimal realpath implementation using /proc•••clean and simple, but fails when the caller does not have permissions
to open the file for reading or when /proc is not available. i may
replace this with a full implementation later, possibly leaving this
version as an optimization to use when it works.
| Rich Felker | 2011-04-17 | 1 | -0/+43 |
| * | remove stupid debug code in wordexp | Rich Felker | 2011-04-15 | 1 | -1/+0 |
| * | implement wordexp. first try, may be buggy. intended to be safe. | Rich Felker | 2011-04-15 | 1 | -0/+128 |
| * | simplify syslog, add vsyslog interface (nonstandard)•••with datagram sockets, depending on fprintf not to flush the output
early was very fragile; the new version simply uses a small fixed-size
buffer. it could be updated to dynamic-allocate large buffers if
needed, but i can't envision any admin being happy about finding
64kb-long lines in their syslog...
| Rich Felker | 2011-04-13 | 1 | -31/+36 |
| * | remove useless SIGPIPE protection from syslog•••per the standard, SIGPIPE is not generated for SOCK_DGRAM.
| Rich Felker | 2011-04-13 | 1 | -9/+0 |
| * | fix syslog (corrected SIGPIPE blocking, and using dgram instead of stream)•••it actually appears the hacks to block SIGPIPE are probably not
necessary, and potentially harmful. if i can confirm this, i'll remove
them.
| Rich Felker | 2011-04-13 | 1 | -10/+8 |
| * | implement getgrouplist (for initgroups), formerly dummied-out | Rich Felker | 2011-04-13 | 1 | -4/+16 |
| * | add ptsname_r (nonstandard) and split ptsname (standard) to separate file•••this eliminates the ugly static buffer in programs that use ptsname_r.
| Rich Felker | 2011-04-13 | 2 | -11/+16 |
| * | move bswap functions to static inline in byteswap.h | Rich Felker | 2011-04-12 | 2 | -16/+0 |
| * | fix broken bswap_32 | Rich Felker | 2011-04-12 | 1 | -1/+1 |
| * | remove ugly warning-suppression hack from crypt - this invokes UB! | Rich Felker | 2011-04-11 | 1 | -1/+1 |
| * | fix all implicit conversion between signed/unsigned pointers•••sadly the C language does not specify any such implicit conversion, so
this is not a matter of just fixing warnings (as gcc treats it) but
actual errors. i would like to revisit a number of these changes and
possibly revise the types used to reduce the number of casts required.
| Rich Felker | 2011-03-25 | 1 | -2/+2 |
| * | global cleanup to use the new syscall interface | Rich Felker | 2011-03-20 | 8 | -20/+8 |
| * | fix compile failure: legacy cuserid needs to define feature test | Rich Felker | 2011-02-16 | 1 | -0/+1 |
| * | fix getrlimit handling on 32-bit systems, and ease porting to 64-bit | Rich Felker | 2011-02-15 | 1 | -3/+3 |
| * | initial check-in, version 0.5.0 | Rich Felker | 2011-02-12 | 26 | -0/+3194 |