Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix prototype mismatch. | des | 2006-03-28 | 1 | -1/+2 |
| | |||||
* | Remove priority mutex code because it does not work correctly, | davidxu | 2006-03-27 | 7 | -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'. | davidxu | 2006-03-27 | 1 | -1/+1 |
| | |||||
* | Check cancellation state carefully to see we really need to call | davidxu | 2006-03-26 | 1 | -2/+5 |
| | | | | _pthread_testcancel(). Preserve errno in _thr_suspend_check(). | ||||
* | Don't cancel thread if it is in critical region. | davidxu | 2006-03-25 | 1 | -1/+1 |
| | |||||
* | Only wake up writer if the lock is free. | davidxu | 2006-03-25 | 1 | -2/+2 |
| | |||||
* | Compile thr_rtld.c | davidxu | 2006-03-25 | 1 | -0/+1 |
| | |||||
* | Add locking support for rtld. | davidxu | 2006-03-25 | 4 | -4/+229 |
| | |||||
* | set an upper limit for thread structures which can be allocated. | davidxu | 2006-03-24 | 1 | -1/+12 |
| | |||||
* | Set default contention scope to system. | davidxu | 2006-03-20 | 1 | -1/+1 |
| | |||||
* | Convert NO_PROFILE and NO_LIB32 to new style. | ru | 2006-03-18 | 1 | -1/+4 |
| | |||||
* | Remove mqueue and timer, now they are in librt. | davidxu | 2006-03-08 | 2 | -525/+0 |
| | |||||
* | Add some more pthread stubs so that librt can use them. | deischen | 2006-03-05 | 1 | -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. | davidxu | 2006-02-28 | 1 | -88/+39 |
| | |||||
* | Disable POSIX SIGEV_THREAD notification support, soon we will have a common | davidxu | 2006-02-22 | 1 | -1/+0 |
| | | | | library which can be reused both for libthr and libpthread. | ||||
* | Read cycle count before sending signal, this fixes a userland thread | davidxu | 2006-02-20 | 1 | -1/+1 |
| | | | | | | suspension bug. MFC after: 3 days | ||||
* | Rework last change of pthread_once, create a function _thr_once_init to | davidxu | 2006-02-15 | 3 | -6/+10 |
| | | | | reinitialize its internal locks. | ||||
* | After fork(), reinitialize internal locks for pthread_once(). | davidxu | 2006-02-15 | 3 | -11/+15 |
| | |||||
* | Now, thread name is stored in kernel, userland no longer has to keep it. | davidxu | 2006-02-05 | 3 | -7/+2 |
| | |||||
* | use syscall thr_set_name to implement pthread_set_name_np. | davidxu | 2006-02-05 | 1 | -9/+18 |
| | |||||
* | Add missing symbol pthread_set_name_np. | davidxu | 2006-01-23 | 1 | -0/+2 |
| | |||||
* | Eliminate unused code. | davidxu | 2006-01-16 | 1 | -7/+1 |
| | |||||
* | Enable mutex inheritance code in mutex_fork, I forgot to turn on it. | davidxu | 2006-01-14 | 1 | -1/+11 |
| | | | | while here, add some comments about process shared mutex. | ||||
* | Increase the number of spinlocks, since libc's malloc implementation is | jasone | 2006-01-13 | 1 | -1/+1 |
| | | | | | | about to significantly increase the number of spinlocks used. Approved by: markm (mentor) | ||||
* | In preparation for a new malloc implementation: | jasone | 2006-01-12 | 1 | -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. | davidxu | 2006-01-11 | 1 | -1/+0 |
| | |||||
* | Use macro STATIC_LIB_REQUIRE to declare a symbol should be linked into | davidxu | 2006-01-10 | 2 | -95/+74 |
| | | | | static binary. | ||||
* | Rescue pthread_set_name_np for compatible reason, remove unused code. | davidxu | 2006-01-09 | 2 | -151/+10 |
| | |||||
* | Tweak macro THR_LOCK_RELEASE a bit for non-PTHREAD_INVARIANTS case. | davidxu | 2006-01-09 | 1 | -7/+14 |
| | |||||
* | Return real detached state. | davidxu | 2006-01-09 | 1 | -0/+2 |
| | |||||
* | Fix a bug recently introduced, the _thread_active_count should be | davidxu | 2006-01-08 | 1 | -0/+1 |
| | | | | decreased if thread can not be created. | ||||
* | Allow background threads to be suspended. | davidxu | 2006-01-08 | 1 | -1/+4 |
| | |||||
* | Try to reduce total time needed for suspending all threads, | davidxu | 2006-01-08 | 1 | -4/+17 |
| | | | | first broadcast signals to all threads, then enter a wait loop. | ||||
* | Remove functions i386_get_gsbase and i386_set_gsbase, they were already | davidxu | 2006-01-07 | 1 | -14/+0 |
| | | | | in libc. | ||||
* | Refine thread suspension code, now thread suspension is a blockable | davidxu | 2006-01-05 | 7 | -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. | davidxu | 2006-01-04 | 2 | -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. | davidxu | 2006-01-03 | 1 | -30/+8 |
| | |||||
* | Let _mutex_cv_lock call internal functiona mutex_lock_common. | davidxu | 2005-12-21 | 1 | -1/+2 |
| | |||||
* | Hide umtx API symbols as well. | davidxu | 2005-12-21 | 2 | -6/+9 |
| | |||||
* | 1. Retire macro SCLASS, instead simply use language keyword and | davidxu | 2005-12-21 | 2 | -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 libpthread | davidxu | 2005-12-21 | 1 | -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. | davidxu | 2005-12-19 | 1 | -0/+1 |
| | | | | | Bug reported by: jasone at connonware when using ports lang/onyx MFC after: 3 days | ||||
* | Update copyright. | davidxu | 2005-12-17 | 6 | -113/+84 |
| | |||||
* | Remove unused _get_curthread() call. | davidxu | 2005-12-12 | 1 | -2/+0 |
| | |||||
* | Fix name compatible problem with POSIX standard. the sigval_ptr and | davidxu | 2005-11-04 | 1 | -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. | davidxu | 2005-11-02 | 1 | -1/+0 |
| | |||||
* | In raise(), use a shortcut to directly send signal to current thread. | davidxu | 2005-11-02 | 1 | -7/+2 |
| | |||||
* | Fix some comments, eliminate a memory leak. | davidxu | 2005-11-01 | 1 | -6/+13 |
| | |||||
* | Use TIMERS_UNLOCK. | davidxu | 2005-11-01 | 1 | -1/+1 |
| | |||||
* | Add code to handle timer_delete(). The timer wrapper code is completely | davidxu | 2005-11-01 | 4 | -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. |