summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix commented out CFLAGS addition for LOGIN_CAP_AUTH, which was missingSheldon Hearn1999-07-121-1/+1
| | | | | | | | | | a make -D option. PR: 12591 Submitted by: Craig Leres <leres@ee.lbl.gov> Notes: svn path=/head/; revision=48775
* Fix a couple more coding style nits.Jason Evans1999-07-115-12/+12
| | | | Notes: svn path=/head/; revision=48749
* Modify previous changes to conform better to libc_r's coding style.Jason Evans1999-07-1111-196/+297
| | | | | | | | | | | Always use mmap() for default-size stack allocation. Use MAP_ANON instead of MAP_STACK on the alpha architecture. Reduce the amount of code executed while owning _gc_mutex during stack allocation. Notes: svn path=/head/; revision=48748
* Fixed a minor style nit in the EXAMPLE section.Wes Peters1999-07-101-1/+1
| | | | Notes: svn path=/head/; revision=48740
* Clarify an explanation a little bit.Poul-Henning Kamp1999-07-091-4/+9
| | | | Notes: svn path=/head/; revision=48721
* Back out previous commit after discussing it with Dmitrij Tejblum.Dag-Erling Smørgrav1999-07-071-4/+0
| | | | Notes: svn path=/head/; revision=48672
* Always set errno to ENOMEM when returning 0 from malloc() or realloc().Dag-Erling Smørgrav1999-07-071-1/+5
| | | | | | | Approved by: phk Notes: svn path=/head/; revision=48670
* Make the new %Z addition thread-safe.David E. O'Brien1999-07-061-19/+49
| | | | Notes: svn path=/head/; revision=48614
* Always use growable thread stacks on the i386. The VM_STACK kernel optionJason Evans1999-07-0614-88/+51
| | | | | | | | must be made default for the alpha before growable thread stacks are enabled for the alpha. Notes: svn path=/head/; revision=48609
* Merge from -stable; support for the 'ida' driver, move fla to major 102Mike Smith1999-07-052-4/+6
| | | | Notes: svn path=/head/; revision=48585
* Disable growable stacks by default, as advertised.Jason Evans1999-07-053-6/+6
| | | | Notes: svn path=/head/; revision=48570
* Use growable stacks for thread stacks that are the default stack size.Jason Evans1999-07-0514-64/+462
| | | | | | | | | | | | | | | | Cache discarded default thread stacks for use in subsequent thread creations. Create a red zone at the end of each stack (including the initial thread stack), with the hope of causing a segfault if a stack overflows. To activate these modifications, add -D_PTHREAD_GSTACK to CFLAGS in src/lib/libc_r/Makefile. Since the modifications depend on the VM_STACK kernel option, I'm not sure how to safely use growable stacks by default. Testing, as well as algorithmic and stylistic comments are welcome. Notes: svn path=/head/; revision=48569
* Actually impliment the documented %Z specifier.David E. O'Brien1999-07-042-2/+44
| | | | Notes: svn path=/head/; revision=48550
* Nuke the BUGS sections of these man pages because they are not appropriate.Mike Pritchard1999-07-014-12/+4
| | | | Notes: svn path=/head/; revision=48422
* Fix typos/spelling errors.Mike Pritchard1999-07-016-16/+17
| | | | Notes: svn path=/head/; revision=48421
* Modify code to be -Wall'able.Mike Spengler1999-07-017-87/+55
| | | | | | | PR: bin/11315 Notes: svn path=/head/; revision=48419
* Add mising aio_* man pages. Fixed a minor typo in aio_read.2,Wes Peters1999-07-016-9/+575
| | | | | | | and "corrected" statement of Posix conformance. Notes: svn path=/head/; revision=48411
* Spelll 'asynchronous' coriectlyKris Kennaway1999-07-011-2/+2
| | | | Notes: svn path=/head/; revision=48392
* Fix the NAME section of the kldload.2 manpage, which made reference toSheldon Hearn1999-07-016-8/+52
| | | | | | | | | | kldunload. Add proper cross-references to the whole family. PR: 12472 Submitted by: Chris Costello <chris@calldei.com> Notes: svn path=/head/; revision=48389
* Defer signals, so we will not wait for SIGCHLD after it was delivered.Dmitrij Tejblum1999-06-293-0/+15
| | | | Notes: svn path=/head/; revision=48349
* Clarify what happens if fd is set to -1Bill Fumerola1999-06-291-2/+4
| | | | | | | Submitted by: Alfred Perlstein <bright@rush.net> Notes: svn path=/head/; revision=48336
* Move call to umask(0) back into pw_util(), because the latterPierre Beyssac1999-06-291-1/+4
| | | | | | | function is also used by chpass(1) and passwd(1). Notes: svn path=/head/; revision=48328
* Document that mlock() and munlock() can return EPERM if theMike Pritchard1999-06-271-1/+9
| | | | | | | | | | caller is not the super-user. Also document that we do not currently support the per-process RLIMIT_MEMLOCK limit. PR: doc/11607 Notes: svn path=/head/; revision=48262
* Just return `curbrk' for sbrk(0) to avoid syscall overhead.Hidetoshi Shimokawa1999-06-261-0/+2
| | | | Notes: svn path=/head/; revision=48253
* Force umask to 077 (instead of 000) during the edit phase, to getPierre Beyssac1999-06-261-4/+1
| | | | | | | | | | | | | secure permissions in case the user attempts to save something to a file of his own. Move umask stuff out of pw_init() into main() for better visibility of overall umask tweaking logic. PR: misc/11797 Notes: svn path=/head/; revision=48241
* Add -d option to vipw(8) to allow selection of an alternative directorySheldon Hearn1999-06-261-8/+14
| | | | | | | | | | for the password files. PR: 2703 Submitted by: jmg Notes: svn path=/head/; revision=48232
* Fix few warnings on the alpha.Dmitrij Tejblum1999-06-236-9/+12
| | | | Notes: svn path=/head/; revision=48140
* Don't get caught in an infinite recursion when PKT_ALIAS_REVERSEBrian Somers1999-06-222-5/+18
| | | | | | | | | | | is set. Document PKT_ALIAS_REVERSE. Pointed out by: Jonathan Hanna <jh@cr1003333-a.crdva1.bc.home.com> PR: 12304 Notes: svn path=/head/; revision=48102
* Correct troff sequence for backslashes in manual page.Joseph Koshy1999-06-212-2/+2
| | | | | | | | PR: docs/12322 Submitted by: Marc Ramirez <mrami@gbtb.com> Notes: svn path=/head/; revision=48064
* Remove -DNOPOLL from the compilation flags now that there is a poll wrapperJohn Birrell1999-06-203-12/+12
| | | | | | | | | | in libc_r. Bump the library version number (the scheduler now uses a poll syscall instead of select). Notes: svn path=/head/; revision=48047
* In the words of the author:John Birrell1999-06-2078-4373/+5601
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o The polling mechanism for I/O readiness was changed from select() to poll(). In additon, a wrapped version of poll() is now provided. o The wrapped select routine now converts each fd_set to a poll array so that the thread scheduler doesn't have to perform a bitwise search for selected fds each time file descriptors are polled for I/O readiness. o The thread scheduler was modified to use a new queue (_workq) for threads that need work. Threads waiting for I/O readiness and spinblocks are added to the work queue in addition to the waiting queue. This reduces the time spent forming/searching the array of file descriptors being polled. o The waiting queue (_waitingq) is now maintained in order of thread wakeup time. This allows the thread scheduler to find the nearest wakeup time by looking at the first thread in the queue instead of searching the entire queue. o Removed file descriptor locking for select/poll routines. An application should not rely on the threads library for providing this locking; if necessary, the application should use mutexes to protect selecting/polling of file descriptors. o Retrieve and use the kernel clock rate/resolution at startup instead of hardcoding the clock resolution to 10 msec (tested with kernel running at 1000 HZ). o All queues have been changed to use queue.h macros. These include the queues of all threads, dead threads, and threads waiting for file descriptor locks. o Added reinitialization of the GC mutex and condition variable after a fork. Also prevented reallocation of the ready queue after a fork. o Prevented the wrapped close routine from closing the thread kernel pipes. o Initialized file descriptor table for stdio entries at thread init. o Provided additional flags to indicate to what queues threads belong. o Moved TAILQ initialization for statically allocated mutex and condition variables to after the spinlock. o Added dispatching of signals to pthread_kill. Removing the dispatching of signals from thread activation broke sigsuspend when pthread_kill was used to send a signal to a thread. o Temporarily set the state of a thread to PS_SUSPENDED when it is first created and placed in the list of threads so that it will not be accidentally scheduled before becoming a member of one of the scheduling queues. o Change the signal handler to queue signals to the thread kernel pipe if the scheduling queues are protected. When scheduling queues are unprotected, signals are then dequeued and handled. o Ensured that all installed signal handlers block the scheduling signal and that the scheduling signal handler blocks all other signals. This ensures that the signal handler is only interruptible for and by non-scheduling signals. An atomic lock is used to decide which instance of the signal handler will handle pending signals. o Removed _lock_thread_list and _unlock_thread_list as they are no longer used to protect the thread list. o Added missing RCS IDs to modified files. o Added checks for appropriate queue membership and activity when adding, removing, and searching the scheduling queues. These checks add very little overhead and are enabled when compiled with _PTHREADS_INVARIANTS defined. Suggested and implemented by Tor Egge with some modification by me. o Close a race condition in uthread_close. (Tor Egge) o Protect the scheduling queues while modifying them in pthread_cond_signal and _thread_fd_unlock. (Tor Egge) o Ensure that when a thread gets a mutex, the mutex is on that threads list of owned mutexes. (Tor Egge) o Set the kernel-in-scheduler flag in _thread_kern_sched_state and _thread_kern_sched_state_unlock to prevent a scheduling signal from calling the scheduler again. (Tor Egge) o Don't use TAILQ_FOREACH macro while searching the waiting queue for threads in a sigwait state, because a change of state destroys the TAILQ link. It is actually safe to do so, though, because once a sigwaiting thread is found, the loop ends and the function returns. (Tor Egge) o When dispatching signals to threads, make the thread inherit the signal deferral flag of the currently running thread. (Tor Egge) Submitted by: Daniel Eischen <eischen@vigrid.com> and Tor Egge <Tor.Egge@fast.no> Notes: svn path=/head/; revision=48046
* Typo in previous commit.Ruslan Ermilov1999-06-181-2/+2
| | | | Notes: svn path=/head/; revision=48001
* Mention that pid 1 is not affected by kill(-1, SIGXXX) too.Ruslan Ermilov1999-06-181-3/+8
| | | | Notes: svn path=/head/; revision=47999
* Add a MAINTAINER line to modules that I maintain.Kenneth D. Merry1999-06-182-0/+2
| | | | | | | Suggested by: brian, markm Notes: svn path=/head/; revision=47993
* Minor English corrections were made; SEE ALSO was also fixed (no commas).Brian Feldman1999-06-171-4/+4
| | | | Notes: svn path=/head/; revision=47990
* cam_get_device() was returning 0 on failure, and 1 on success, whileMike Pritchard1999-06-151-10/+10
| | | | | | | | | | | camcontrol(8) and the documentation in camlib.c and cam(3) all expect -1 on failure and 0 on success. Updated camlib.c to return the values specified by the documentation. PR: 12023 Notes: svn path=/head/; revision=47933
* Fix a minor style nit in the NAME section.Mike Pritchard1999-06-111-1/+1
| | | | Notes: svn path=/head/; revision=47881
* Move the description of the strncmp() function from the RETURN VALUESMike Pritchard1999-06-111-6/+6
| | | | | | | | | | section to the DESCRIPTION section. PR: 12133 Submitted by: Sheldon Hearn <sheldonh@uunet.co.za> Notes: svn path=/head/; revision=47879
* Improvement in the description of what this does.Mark Murray1999-06-101-10/+10
| | | | | | | Prompted by (and thanks to): W Richard Stevens Notes: svn path=/head/; revision=47870
* Ensure that host_addr (which is returned in struct hostent::h_addr_list[0])Dmitrij Tejblum1999-06-071-2/+2
| | | | | | | is aligned so that pointer to it can be safely casted to struct in_addr *. Notes: svn path=/head/; revision=47819
* Spell the .St macro correctly.Steve Price1999-06-071-1/+1
| | | | | | | PR: 11704 Notes: svn path=/head/; revision=47812
* Spell isinf(3) correctly.Steve Price1999-06-071-1/+1
| | | | | | | PR: 11974 Notes: svn path=/head/; revision=47810
* Call do_ctors() and do_dtors() using indirect calls through functionJohn Polstra1999-06-061-3/+12
| | | | | | | | | | pointers. The calls are in different sections from the functions being called, and they can potentially be far away. On a very large program, the 21-bit displacement field of the BSR instruction overflowed at link time. Notes: svn path=/head/; revision=47788
* Update of intro(2)/errno(2) in the ongoing effort of the Programmer'sJustin M. Seger1999-06-061-0/+25
| | | | | | | | | | Documentation Project <http://home.wxs.nl/~asmodai/pdp.html> Submitted by: Jeroen Ruigrok van der Werven <asmodai@wxs.nl> PR: docs/12030 Notes: svn path=/head/; revision=47785
* Change an internal variable from "class" to "ns_class" for C++'s benefit.Peter Wemm1999-06-041-2/+2
| | | | | | | | | Apparently BIND-8.2.1 uses ns_class. Submitted by: John Plevyak <jplevyak@inktomi.com> Notes: svn path=/head/; revision=47742
* Apply patch for PR #12008: remember to reset _yp_enabled flag inBill Paul1999-06-041-0/+2
| | | | | | | | | | endpwent() so we don't trip over a NULL db pointer later. PR: 12008 Submitted by: Valentin Netchayev <netch@lucky.net> Notes: svn path=/head/; revision=47721
* Typo.Pierre Beyssac1999-05-251-2/+2
| | | | | | | | PR: docs/11832 Submitted by: Ralf S. Engelschall <rse@engelschall.com> Notes: svn path=/head/; revision=47489
* Added Posix rand_r function.Wes Peters1999-05-242-5/+74
| | | | Notes: svn path=/head/; revision=47474
* Added a missing comma to the static condition variable initialisationJohn Birrell1999-05-243-3/+3
| | | | | | | | | definition. Submitted by: David Leonard <David.Leonard@csee.uq.edu.au>, an OpenBSD guy. Notes: svn path=/head/; revision=47452
* Remove the static declaration from the line[] variable to allowJohn Birrell1999-05-241-2/+2
| | | | | | | openpty() to be called from a threaded application. Notes: svn path=/head/; revision=47449