aboutsummaryrefslogtreecommitdiff
path: root/lib/libpthread/pthread.map
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/6.0.0_cvscvs2svn2005-11-031-1/+1
| | | | | | 'RELENG_6_0_0_RELEASE'. This commit was manufactured to restore the state of the 6.0-RELEASE image.
* MFC (by deischen)Xin LI2005-10-081-0/+2
| | | | | | | | | | | | | | | | | Add usleep to the map files. | | Noticed by: davidxu | | Revision Changes Path | 1.15 +2 -0 src/lib/libpthread/pthread.map | 1.4 +2 -0 src/lib/libthr/pthread.map Approved by: re (kensmith) Ok'ed by: deischen, davidxu Notes: svn path=/stable/6/; revision=151097
* Use a generic way to back threads out of wait queues when handlingDaniel Eischen2004-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | signals instead of having more intricate knowledge of thread state within signal handling. Simplify signal code because of above (by David Xu). Use macros for libpthread usage of pthread_cleanup_push() and pthread_cleanup_pop(). This removes some instances of malloc() and free() from the semaphore and pthread_once() implementations. When single threaded and forking(), make sure that the current thread's signal mask is inherited by the forked thread. Use private mutexes for libc and libpthread. Signals are deferred while threads hold private mutexes. This fix also breaks www/linuxpluginwrapper; a patch that fixes it is at http://people.freebsd.org/~deischen/kse/linuxpluginwrapper.diff Fix race condition in condition variables where handling a signal (pthread_kill() or kill()) may not see a wakeup (pthread_cond_signal() or pthread_cond_broadcast()). In collaboration with: davidxu Notes: svn path=/head/; revision=139023
* Add a wrapper for execve(). The exec'd process must be started withDaniel Eischen2004-09-261-0/+2
| | | | | | | | | | | | | | | | | the signal mask and pending signals of the calling thread. These are stored in userland in libpthread. There is a small race condition in this patch which could cause problems if a signal arrives after setting the (kernel) signal mask and before exec'ing. The thread's set of pending signals also are not yet installed in the exec'd process. Both of these will be corrected with the addition of a special syscall. Reported & Tested by: Joost Bekkers <joost at jodocus dot org> Reviewed by: julian, davidxu Notes: svn path=/head/; revision=135809
* 1. Add macro DTV_OFFSET to calculate dtv offset in tcb.David Xu2004-08-161-3/+19
| | | | | | | 2. Export symbols needed by debugger. Notes: svn path=/head/; revision=133801
* Export necessary symbols to debugger.David Xu2004-07-131-7/+4
| | | | Notes: svn path=/head/; revision=132123
* Add sem_timedwait to the symbol map, otherwise the libc version willDaniel Eischen2004-02-101-0/+2
| | | | | | | get used. Notes: svn path=/head/; revision=125636
* Implement sigaltstack() as per-threaded. Current only scope process threadDavid Xu2003-12-291-0/+2
| | | | | | | | | | | is supported, for scope system process, kernel signal bits need to be changed. Reviewed by: deischen Tested on : i386 amd64 ia64 Notes: svn path=/head/; revision=123974
* Add cancellation points for accept() and connect().Daniel Eischen2003-12-091-0/+4
| | | | Notes: svn path=/head/; revision=123355
* Add an implementation for pthread_atfork().Daniel Eischen2003-11-041-0/+2
| | | | | | | | | | | Aside from the POSIX requirements for pthread_atfork(), when fork()ing, take the malloc lock to keep malloc state consistent in the child. Reviewed by: davidxu Notes: svn path=/head/; revision=122075
* Add code to support pthread spin lock.David Xu2003-09-091-0/+10
| | | | | | | Reviewed by: deischen Notes: svn path=/head/; revision=119909
* Add small piece of code to support pthread_rwlock_timedrdlock andDavid Xu2003-09-061-0/+4
| | | | | | | pthread_rwlock_timedrwlock. Notes: svn path=/head/; revision=119790
* Add code to support barrier synchronous object and implementDavid Xu2003-09-041-0/+17
| | | | | | | | | pthread_mutex_timedlock(). Reviewed by: deischen Notes: svn path=/head/; revision=119736
* Override libc function raise(), in threading mode, raise() willDavid Xu2003-07-191-0/+2
| | | | | | | | | send signal to current thread. Reviewed by: deischen Notes: svn path=/head/; revision=117758
* o Use a daemon thread to monitor signal events in kernel, if pendingDavid Xu2003-06-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | signals were changed in kernel, it will retrieve the pending set and try to find a thread to dispatch the signal. The dispatching process can be rolled back if the signal is no longer in kernel. o Create two functions _thr_signal_init() and _thr_signal_deinit(), all signal action settings are retrieved from kernel when threading mode is turned on, after a fork(), child process will reset them to user settings by calling _thr_signal_deinit(). when threading mode is not turned on, all signal operations are direct past to kernel. o When a thread generated a synchoronous signals and its context returned from completed list, UTS will retrieve the signal from its mailbox and try to deliver the signal to thread. o Context signal mask is now only used when delivering signals, thread's current signal mask is always the one in pthread structure. o Remove have_signals field in pthread structure, replace it with psf_valid in pthread_signal_frame. when psf_valid is true, in context switch time, thread will backout itself from some mutex/condition internal queues, then begin to process signals. when a thread is not at blocked state and running, check_pending indicates there are signals for the thread, after preempted and then resumed time, UTS will try to deliver signals to the thread. o At signal delivering time, not only pending signals in thread will be scanned, process's pending signals will be scanned too. o Change sigwait code a bit, remove field sigwait in pthread_wait_data, replace it with oldsigmask in pthread structure, when a thread calls sigwait(), its current signal mask is backuped to oldsigmask, and waitset is copied to its signal mask and when the thread gets a signal in the waitset range, its current signal mask is restored from oldsigmask, these are done in atomic fashion. o Two additional POSIX APIs are implemented, sigwaitinfo() and sigtimedwait(). o Signal code locking is better than previous, there is fewer race conditions. o Temporary disable most of code in _kse_single_thread as it is not safe after fork(). Notes: svn path=/head/; revision=116977
* Attempt to eliminate PLT relocations from rwlock aquire/releaseAlexander Kabaev2003-05-301-0/+296
path, making them suitable for direct use by the dynamic loader. Register libpthread-specific locking API with rtld on startup. This still has some rough edges with signals which should be addresses later. Approved by: re (scottl) Notes: svn path=/head/; revision=115399