#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
175864 |
|
31-Jan-2008 |
deischen |
When reinitializing a lockuser, don't assume that the lock is in use. If it is in use, use the watched request, otherwise use the lockuser's own request. Only allocate a lockuser request if both requests are null.
PR: 119920 Tested by (6.x): Landon Fuller <landonf -at- bikemonkey -dot- org>
|
#
174112 |
|
30-Nov-2007 |
deischen |
WARNS=3'ify.
|
#
173967 |
|
27-Nov-2007 |
jasone |
Add _pthread_mutex_init_calloc_cb() to libthr and libkse, so that malloc(3) (part of libc) can use pthreads mutexes without causing infinite recursion during initialization.
|
#
172491 |
|
09-Oct-2007 |
obrien |
Repo copy libpthreads to libkse. This introduces the WITHOUT_LIBKSE nob, and changes WITHOUT_LIBPTHREADS to mean with neither threading libs. Approved by: re(kensmith)
|
#
148542 |
|
29-Jul-2005 |
deischen |
Catch up with the atomic_FOO_ptr() changes and silence a few warnings.
|
#
142670 |
|
27-Feb-2005 |
delphij |
Change the spin lock logic to a reasonable one. We should spin when the lock is held by other thread, but not when nobody owns it. According to deischen@, this part of code will never be hit in our threads library, since it does not use locks without wait/wakeup functions.
Spotted by: mingyanguo via ChinaUnix.net forum Reviewed by: deischen
|
#
122074 |
|
04-Nov-2003 |
deischen |
Add the ability to reinitialize libpthread's internal FIFO-queueing locks.
Reviewed by: davidxu
|
#
120658 |
|
02-Oct-2003 |
davidxu |
Only generate code for _LCK_ASSERT if _LCK_DEBUG is defined.
|
#
119723 |
|
03-Sep-2003 |
deischen |
Don't assume sizeof(long) = sizeof(int) on x86; use int instead of long types for low-level locks.
Add prototypes for some internal libc functions that are wrapped by the library as cancellation points.
Add memory barriers to alpha atomic swap functions (submitted by davidxu).
Requested by: bde
|
#
115278 |
|
24-May-2003 |
deischen |
Change low-level locking a bit so that we can tell if a lock is being waitied on.
Fix a races in join and cancellation.
When trying to wait on a CV and the library is not yet threaded, make it threaded so that waiting actually works.
When trying to nanosleep() and we're not threaded, just call the system call nanosleep instead of adding the thread to the wait queue.
Clean up adding/removing new threads to the "all threads queue", assigning them unique ids, and tracking how many active threads there are. Do it all when the thread is added to the scheduling queue instead of making pthread_create() know how to do it.
Fix a race where a thread could be marked for signal delivery but it could be exited before we actually add the signal to it.
Other minor cleanups and bug fixes.
Submitted by: davidxu Approved by: re@ (blanket for libpthread)
|
#
115080 |
|
16-May-2003 |
deischen |
Add a method of yielding the current thread with the scheduler lock held (_thr_sched_switch_unlocked()) and use this to avoid dropping the scheduler lock and having the scheduler retake the same lock again.
Add a better way of detecting if a low-level lock is in use.
When switching out a thread due to blocking in the UTS, don't switch to the KSE's scheduler stack only to switch back to another thread. If possible switch to the new thread directly from the old thread and avoid the overhead of the extra context switch.
Check for pending signals on a thread when entering the scheduler and add them to the threads signal frame. This includes some other minor signal fixes.
Most of this was a joint effor between davidxu and myself.
Reviewed by: davidxu Approved by: re@ (blanket for libpthread)
|
#
114680 |
|
04-May-2003 |
deischen |
Protect against a race between granting a lock and accessing other parts of the lock.
Submitted by: davidxu
|
#
113661 |
|
18-Apr-2003 |
deischen |
Sorry folks; I accidentally committed a patch from what I was working on a couple of days ago. This should be the most recent changes.
Noticed by: davidxu
|
#
113657 |
|
18-Apr-2003 |
deischen |
Add FIFO queueing locking operations based on atomic swap.
Modify thread errno for the new libpthread changes.
Reviewed by: davidxu
|