summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Make consistent with the better written wcsrtombs function:dds2004-02-271-4/+5
| | | | | | - Fix syntax - Remove the (slightly wrong) duplicate explanation of the error condition - Change reference to invalid multibyte character into invalid wide character
* Make the resolver(3) and many associated interfaces much more reentrant.green2004-02-2513-52/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The getaddrinfo(3), getipnodebyname(3) and resolver(3) can coincide now with what should be totally reentrant, and h_errno values will now be preserved correctly, but this does not affect interfaces such as gethostbyname(3) which are still mostly non-reentrant. In all of these relevant functions, the thread-safety has been pushed down as far as it seems possible right now. This means that operations that are selected via nsdispatch(3) (i.e. files, yp, dns) are protected still under global locks that getaddrinfo(3) defines, but where possible the locking is greatly reduced. The most noticeable improvement is that multiple DNS lookups can now be run at the same time, and this shows major improvement in performance of DNS-lookup threaded programs, and solves the "Mozilla tab serialization" problem. No single-threaded applications need to be recompiled. Multi-threaded applications that reference "_res" to change resolver(3) options will need to be recompiled, and ones which reference "h_errno" will also if they desire the correct h_errno values. If the applications already understood that _res and h_errno were not thread-safe and had their own locking, they will see no performance improvement but will not actually break in any way. Please note that when NSS modules are used, or when nsdispatch(3) defaults to adding any lookups of its own to the individual libc _nsdispatch() calls, those MUST be reentrant as well.
* Add getopt_long_only() from OpenBSD and other OpenBSD cleanupsache2004-02-243-299/+459
| | | | | PR: 63173 Submitted by: Marius Strobl <marius@alchemy.franken.de>
* Apply style(9).green2004-02-231-2/+6
| | | | | Submitted by: "Christian S.J. Peron" <maneo@bsdpro.com> PR: bin/63283
* Add signal numbers to signal(3).josef2004-02-231-33/+36
| | | | | | | Approved by: simon(mentor) Reviewed by: ru Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at> PR: docs/60044
* Add optarg, optind, opterr, optopt, optreset to SYNOPSYSache2004-02-231-0/+5
|
* POSIX clearly states that getsubopt() should be declared in <stdlib.h>ache2004-02-231-1/+1
| | | | not in <unistd.h>
* Remove unneccessary <unistd.h>ache2004-02-231-1/+0
|
* Change the syscall stub branch orders so that the static branch predictionpeter2004-02-224-12/+51
| | | | will assume that syscalls will succeed rather than fail.
* Remove the triplicity in the public functions by vectoring them allphk2004-02-211-70/+49
| | | | | | | | | | through a realloc like function. Make the malloc_active variable a local static to this new function. Don't warn about recursion more than once per base call. constify malloc_func.
* Move the check for sensitive processes to the point where the exceptionphk2004-02-211-14/+7
| | | | | | | | | has been hit, this makes it cover more cases. Call the message function directly rather than fiddle with flag-saving when we find an unknown character in our options. The 'A' flag should not trigger on legal out of memory conditions.
* add destination address selection support for getipnodebyname(3).ume2004-02-201-1/+225
| | | | | though getipnodebyname(3) is obsoleted api, some major applications such as Mozilla are still using it. so, it will help ipv4 users.
* Unbreak the upgrade path from 4.9 after removal of GNU getopt andru2004-02-201-2/+0
| | | | <gnuregex.h>.
* Document dependence of mktemp(3) on the non-reentrant arc4random(3).green2004-02-201-0/+7
|
* Remove the code and an associated comment for gcc 1.x compatibilitydas2004-02-161-9/+1
| | | | and fix a typo in the !__GNUC__ case.
* Fix a typo in the !__GNUC__ case and remove an obsolete comment.das2004-02-161-3/+1
|
* Fix some aliasing problems.das2004-02-166-52/+94
|
* Add forgotten IEEE functions. The Perl 5.8 port now compiles.grehan2004-02-129-2/+428
| | | | | Submitted by: Suleiman Souhlal <refugee@segfaulted.com> Obtained from: NetBSD
* style cleanup: Remove duplicate $FreeBSD$ tags.cperciva2004-02-103-6/+0
| | | | | | | | These files had tags after teh copyright notice, inside the comment block (incorrect, removed), and outside the comment block (correct). Approved by: rwatson (mentor)
* style cleanup: Remove duplicate $FreeBSD$ tags.cperciva2004-02-102-5/+1
| | | | | | | | These files had tags after the copyright notice, inside the comment block (incorrect, removed), and outside the comment block (correct). Approved by: rwatson (mentor)
* style cleanup: Remove duplicate $FreeBSD$ tags.cperciva2004-02-103-4/+0
| | | | | | | | These files had tags at the start of the file (incorrect, removed), and after the copyright notices (correct). Approved by: rwatson (mentor)
* Rewrite fabs.S to use pure SSE2 operations. I got the clues how to dopeter2004-02-081-10/+35
| | | | this from looking at code generated by gcc.
* Update the documentation for setpgrp(2) to reflect the access controldas2004-02-081-7/+21
| | | | | | | checks that the code actually performs. Judging from the 4.2BSD release notes, the docs have only been out of date for 20 years. PR: 29844
* Document the SF_NODISKIO flag, and fix a small typo.silby2004-02-081-2/+10
|
* Unbreak world.ru2004-02-071-2/+2
|
* getnetbyname fixes:dds2004-02-071-22/+67
| | | | | | | Do not choke on malformed network addresses. Return n_name in static space, not on the function's stack. MFC after: 1 week
* Prevent memory leak on sem_destroy() by destroying the semaphore'sdeischen2004-02-061-1/+4
| | | | internal mutex and CV.
* Only allow the semaphore to be taken when the value is positive.deischen2004-02-061-2/+1
| | | | | | Don't decrement it twice when it is taken. Reported by: kris
* Correct check for invalid semaphore on sem_destroy() (s/==/!=/).deischen2004-02-051-1/+1
| | | | Reported by: kris
* Correct the weak reference for sem_unlink.deischen2004-02-051-1/+1
|
* Allow libc's version of sem_trywait() to work for non-pshared mutexes.deischen2004-02-041-2/+17
|
* Modify the implementation of libc semaphores so that they can bedeischen2004-02-031-146/+132
| | | | | | | | | | | | overridden by the threads library to provide a userland version of non-pshared semaphores and cancellation points. Also add a sem_timedwait(). The libc version of semaphores always uses kernel semaphores regardless of whether pshared is set or not. When threads are not present, it is difficult to get sem_wait() or sem_timedwait() to do the right thing (since pthread_cond_timedwait() and pthread_cond_wait() are stubs in libc and just return immediately).
* Merge vfscanf.c,v 1.35.das2004-01-311-4/+10
|
* Fix the handling of negative hexadecimal numbers in integer formats.das2004-01-311-3/+9
| | | | | | | Note that this bug is unrelated to recent work in this area; it seems to have been present since revision 1.1. Obtained from: NetBSD
* LC_ALL not always take priority over other LC_*ache2004-01-311-22/+35
| | | | | Obtained from: NetBSD PR: 62047
* Add reference to environ(7)ache2004-01-291-1/+2
|
* Xref kqueue and polleivind2004-01-261-0/+2
|
* Xref kqueueeivind2004-01-261-0/+1
|
* Describe EOVERFLOW caseache2004-01-251-0/+9
|
* When writing/reading longs use explicit 32bit temporary values.mbr2004-01-241-3/+4
| | | | | | | | MFNetBSD rev. 1.15 + rev 1.16 PR: bin/60901 Submitted by: Logan Gabriel <gersh@sonn.com> Obtained from: NetBSD
* Merge vfprintf.c, v1.61 and 1.62. For compatibility with __hdtoa()das2004-01-231-19/+25
| | | | | | | and to reduce diffs between vfprintf.c and vfwprintf.c, declare xdigs* to be char arrays rather than wchar_t arrays. In collaboration with: tjr
* Include <stdlib.h> to get abort() prototype.grehan2004-01-211-0/+2
|
* Updated manh shift constant type to 'ULL' for PPC to fixgrehan2004-01-211-1/+1
| | | | | | shift-too-large compile error reviewed by: das
* Discard the first 1024 bytes of output as suggested bydas2004-01-201-1/+13
| | | | | | | | http://citeseer.nj.nec.com/fluhrer01weaknesses.html and http://citeseer.nj.nec.com/531224.html . PR: 61126 Submitted by: Jeff Ito <jeffi@rcn.com>
* Use 'uint32_t' instead of 'long' when a 32-bit integer is intended.das2004-01-201-31/+32
| | | | | | | | | This results in no functional change, aside from fixing a data corruption bug on LP64 platforms. The code here could still use a significant amount of cleanup. PR: 56502 Submitted by: hrs (earlier version)
* Simplify mpool_get() and mpool_write() by using pread() and pwrite()das2004-01-201-6/+3
| | | | | | | instead of lseek()/_read() and lseek()/_write(). PR: bin/54276 Submitted by: <dnelson@allantgroup.com>
* libc is now WARNS=2 clean with the exception of the gdtoa bits (whichnectar2004-01-191-1/+1
| | | | are now not built with warnings enabled at all).
* Add prototypes for the three syscall stubs that are invoked here,nectar2004-01-191-0/+4
| | | | in order to quiet warnings.
* add cross-reference to clock_gettime(2)phk2004-01-191-0/+1
|
* Bring the *printf(3) documentation up to date with the code:das2004-01-191-37/+24
| | | | | | | | | | | | | | | | | | | - Update and improve the documentation for %[aA] o Like %[eE], %[aA] may round the result if a precision is specified. o Grammar police: Fix a split infinitive. o The FreeBSD implementation does better than the minimum required by C99 (literal translation of the mantissa). The digit before the hexadecimal-point is never 0 unless the number itself is 0. o Clarify that the exponent field represents a decimal exponent of 2. o Discuss the fact that multiple valid representations are possible. o Remove the entry in the BUGS section claiming that %[aA] is not implemented. - Remove the entry in the BUGS section claiming that the ' flag for printing thousands separators is unimplemented for floating-point. - Remove the entry in the BUGS section claiming that the L modifier reduces the precision to "double" before conversion.
OpenPOWER on IntegriCloud