summaryrefslogtreecommitdiffstats
path: root/lib/libthr
Commit message (Collapse)AuthorAgeFilesLines
* Fix prototype mismatch.des2006-03-281-1/+2
|
* Remove priority mutex code because it does not work correctly,davidxu2006-03-277-1199/+200
| | | | | | | | | to make it work, turnstile like mechanism to support priority propagating and other realtime scheduling options in kernel should be available to userland mutex, for the moment, I just want to make libthr be simple and efficient thread library. Discussed with: deischen, julian
* Comment out -g compiler option, found by 'FreeBSD Build Options Survey'.davidxu2006-03-271-1/+1
|
* Check cancellation state carefully to see we really need to calldavidxu2006-03-261-2/+5
| | | | _pthread_testcancel(). Preserve errno in _thr_suspend_check().
* Don't cancel thread if it is in critical region.davidxu2006-03-251-1/+1
|
* Only wake up writer if the lock is free.davidxu2006-03-251-2/+2
|
* Compile thr_rtld.cdavidxu2006-03-251-0/+1
|
* Add locking support for rtld.davidxu2006-03-254-4/+229
|
* set an upper limit for thread structures which can be allocated.davidxu2006-03-241-1/+12
|
* Set default contention scope to system.davidxu2006-03-201-1/+1
|
* Convert NO_PROFILE and NO_LIB32 to new style.ru2006-03-181-1/+4
|
* Remove mqueue and timer, now they are in librt.davidxu2006-03-082-525/+0
|
* Add some more pthread stubs so that librt can use them.deischen2006-03-051-4/+35
| | | | | | | The thread jump table has been resorted, so you need to keep libc, libpthread, and libthr in sync. Submitted by: xu
* Reimplement mutex_init to get rid of compile warning.davidxu2006-02-281-88/+39
|
* Disable POSIX SIGEV_THREAD notification support, soon we will have a commondavidxu2006-02-221-1/+0
| | | | library which can be reused both for libthr and libpthread.
* Read cycle count before sending signal, this fixes a userland threaddavidxu2006-02-201-1/+1
| | | | | | suspension bug. MFC after: 3 days
* Rework last change of pthread_once, create a function _thr_once_init todavidxu2006-02-153-6/+10
| | | | reinitialize its internal locks.
* After fork(), reinitialize internal locks for pthread_once().davidxu2006-02-153-11/+15
|
* Now, thread name is stored in kernel, userland no longer has to keep it.davidxu2006-02-053-7/+2
|
* use syscall thr_set_name to implement pthread_set_name_np.davidxu2006-02-051-9/+18
|
* Add missing symbol pthread_set_name_np.davidxu2006-01-231-0/+2
|
* Eliminate unused code.davidxu2006-01-161-7/+1
|
* Enable mutex inheritance code in mutex_fork, I forgot to turn on it.davidxu2006-01-141-1/+11
| | | | while here, add some comments about process shared mutex.
* Increase the number of spinlocks, since libc's malloc implementation isjasone2006-01-131-1/+1
| | | | | | about to significantly increase the number of spinlocks used. Approved by: markm (mentor)
* In preparation for a new malloc implementation:jasone2006-01-121-10/+4
| | | | | | | | | | | | | * Add posix_memalign(). * Move calloc() from calloc.c to malloc.c. Add a calloc() implementation in rtld-elf in order to make the loader happy (even though calloc() isn't used in rtld-elf). * Add _malloc_prefork() and _malloc_postfork(), and use them instead of directly manipulating __malloc_lock. Approved by: phk, markm (mentor)
* The thr_new sysscall was already in libc, don't generate it.davidxu2006-01-111-1/+0
|
* Use macro STATIC_LIB_REQUIRE to declare a symbol should be linked intodavidxu2006-01-102-95/+74
| | | | static binary.
* Rescue pthread_set_name_np for compatible reason, remove unused code.davidxu2006-01-092-151/+10
|
* Tweak macro THR_LOCK_RELEASE a bit for non-PTHREAD_INVARIANTS case.davidxu2006-01-091-7/+14
|
* Return real detached state.davidxu2006-01-091-0/+2
|
* Fix a bug recently introduced, the _thread_active_count should bedavidxu2006-01-081-0/+1
| | | | decreased if thread can not be created.
* Allow background threads to be suspended.davidxu2006-01-081-1/+4
|
* Try to reduce total time needed for suspending all threads,davidxu2006-01-081-4/+17
| | | | first broadcast signals to all threads, then enter a wait loop.
* Remove functions i386_get_gsbase and i386_set_gsbase, they were alreadydavidxu2006-01-071-14/+0
| | | | in libc.
* Refine thread suspension code, now thread suspension is a blockabledavidxu2006-01-057-68/+177
| | | | | | | operation, the caller is blocked util target threads are really suspended, also avoid suspending a thread when it is holding a critical lock. Fix a bug in _thr_ref_delete which tests a never set flag.
* 1. Add SIGEV_THREAD notification for mq_notify.davidxu2006-01-042-198/+343
| | | | | 2. Reuse current timer code and abstract some common code to to support both timer and mqueue.
* Remove in-progress wait code to sync with libpthread's behavior.davidxu2006-01-031-30/+8
|
* Let _mutex_cv_lock call internal functiona mutex_lock_common.davidxu2005-12-211-1/+2
|
* Hide umtx API symbols as well.davidxu2005-12-212-6/+9
|
* 1. Retire macro SCLASS, instead simply use language keyword anddavidxu2005-12-212-109/+124
| | | | | put variables in thr_init.c. 2. Hide all global symbols which won't be exported.
* Follow the mistake in libpthread, the first version name in libpthreaddavidxu2005-12-211-1/+1
| | | | | | is LIBTHREAD_1_0, but really it should be LIBPTHREAD_1_0. Fix it so libmap.conf works again (it was broken by recent versioning code in rtld_elf).
* Clear return code to zero if joiner successfully waited joinee.davidxu2005-12-191-0/+1
| | | | | Bug reported by: jasone at connonware when using ports lang/onyx MFC after: 3 days
* Update copyright.davidxu2005-12-176-113/+84
|
* Remove unused _get_curthread() call.davidxu2005-12-121-2/+0
|
* Fix name compatible problem with POSIX standard. the sigval_ptr anddavidxu2005-11-041-5/+5
| | | | | | sigval_int really should be sival_ptr and sival_int. Also sigev_notify_function accepts a union sigval value but not a pointer.
* Remove a redundant _get_curthread() call.davidxu2005-11-021-1/+0
|
* In raise(), use a shortcut to directly send signal to current thread.davidxu2005-11-021-7/+2
|
* Fix some comments, eliminate a memory leak.davidxu2005-11-011-6/+13
|
* Use TIMERS_UNLOCK.davidxu2005-11-011-1/+1
|
* Add code to handle timer_delete(). The timer wrapper code is completelydavidxu2005-11-014-68/+268
| | | | | | rewritten, now timers created with same sigev_notify_attributes will run in same thread, this allows user to organize which timers can run in same thread to save some thread resource.
OpenPOWER on IntegriCloud