summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread
Commit message (Collapse)AuthorAgeFilesLines
...
* Tweak _thr_cancel_leave_defer a bit to fix a possible race.davidxu2006-12-051-3/+7
|
* Fix typo, I was using a wrong header file, and the typo is not detecteddavidxu2006-12-041-1/+1
| | | | by compiler.
* Use kernel provided userspace condition variable to implement pthreaddavidxu2006-12-046-96/+105
| | | | condition variable.
* If a thread was detached, return EINVAL instead, the error codedavidxu2006-11-281-1/+1
| | | | | | | | is also returned by pthread_detach() if a thread was already detached, the error code was already documented: > [EINVAL] The implementation has detected that the value speci- > fied by thread does not refer to a joinable thread.
* Eliminate atomic operations in thread cancellation functions, it shoulddavidxu2006-11-2412-213/+176
| | | | reduce overheads of cancellation points.
* Move code calculating new inherited priority into single function.davidxu2006-11-111-30/+21
|
* Don't inherit THR_FLAGS_NEED_SUSPEND for child process, child processdavidxu2006-10-141-0/+2
| | | | | only has one thread, setting the flag can cause the thread to be suspended and no another thread will resume it.
* o Make _thr_umutex_init a function.davidxu2006-10-132-21/+23
| | | | | | o Eliminate unused parameter for some functions. o Convert type of first parameter to void * for _thr_umtx_wait and _thr_umtx_wake.
* Use type pthread_state for thread state.davidxu2006-10-131-1/+1
|
* use rtprio_thread system call to get or set thread priority.davidxu2006-09-217-16/+90
|
* Use return value of _thr_umutex_lock instead of using zero.davidxu2006-09-081-2/+1
|
* Replace internal usage of struct umtx with umutex which can supportsdavidxu2006-09-0614-158/+94
| | | | real-time if we want, no functionality is changed.
* Same as pthread_setschedparam, use sizeof(struct sched_param) instead.davidxu2006-09-051-2/+2
|
* Pass correct parameter size.davidxu2006-09-051-2/+2
|
* Remove unused file.davidxu2006-08-291-59/+0
|
* pthread_sigmask is in thr_sig.c, remove this file.davidxu2006-08-281-52/+0
|
* Kill unused files.davidxu2006-08-282-187/+0
|
* Use umutex APIs to implement pthread_mutex, member pp_mutexq is addeddavidxu2006-08-284-73/+116
| | | | | | into pthread structure to keep track of locked PTHREAD_PRIO_PROTECT mutex, no real mutex code is changed, the mutex locking and unlocking code should has same performance as before.
* Add umutex APIs.davidxu2006-08-282-0/+92
|
* Axe unused member field.davidxu2006-08-082-12/+2
|
* Get number of CPUs and ignore spin count on single processor machine.davidxu2006-08-083-6/+15
|
* 1. Don't override underscore version of aio_suspend(), system(),davidxu2006-07-253-78/+169
| | | | | | | | | | wait(), waitpid() and usleep(), they are internal versions and should not be cancellation points. 2. Make wait3() as a cancellation point. 3. Move raise() and pause() into file thr_sig.c. 4. Add functions _sigsuspend, _sigwait, _sigtimedwait and _sigwaitinfo, remove SIGCANCEL bit in wait-set for those functions, the signal is used internally to implement thread cancellation.
* Unexpand two TAILQ_FOREACH_SAFE cases.delphij2006-07-172-4/+2
| | | | Ok'ed by: davidxu
* Caching scheduling policy and priority in userland, a critical but baddlydavidxu2006-07-135-20/+50
| | | | | written application is frequently changing thread priority for SCHED_OTHER policy.
* Use thr_setscheduler, thr_getscheduler and thr_setschedparam to implementdavidxu2006-07-134-26/+15
| | | | pthread functions.
* Use kernel facilities to support real-time scheduling.davidxu2006-07-127-124/+103
|
* Remove unused member.davidxu2006-06-031-1/+0
|
* Remove unused member field m_queue.davidxu2006-06-022-6/+1
|
* Explicitly request pre-zeroed memory instead of memset'ing ourdelphij2006-05-311-5/+1
| | | | | | own. Ok'ed by: davidxu
* s/long/int.davidxu2006-04-271-2/+2
|
* - Use same priority range returned by kernel's sched_get_priority_min()davidxu2006-04-276-55/+57
| | | | | and sched_get_priority_max() syscalls. - Remove unused fields from structure pthread_attr.
* Remove multiple _get_curthread() calls.davidxu2006-04-231-4/+1
|
* Do not check validity of timeout if a mutex can be acquired immediately.davidxu2006-04-083-80/+103
| | | | | Completly drop recursive mutex in pthread_cond_wait and restore recursive after resumption. Reorganize code to make gcc to generate better code.
* WARNS level 4 cleanup.davidxu2006-04-0444-186/+244
|
* 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
* 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
|
* Remove mqueue and timer, now they are in librt.davidxu2006-03-081-517/+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
|
OpenPOWER on IntegriCloud