[9cd044] by Nikodemus Siivola
timeouts on JOIN-THREAD
Marking the return convention experimental for now, as I'm
...we should signal a separate condition type for timeouts.
...we should have a separate :TIMEOUT-VALUE argument.
...if that value should default to value of DEFAULT.
Pfff. Interfaces are hard -- let's go shopping!
[1ecff2] by Nikodemus Siivola
timeouts on semaphores and mailboxes, fix timeouts on condition variables
* Accidentally put in the version of condition variable timeouts that just
* The issue with mailbox tests on Darwin at least appears to be related
[d6f967] by Nikodemus Siivola
killing lutexes, adding timeouts
* Remove all lutex-specific code from the system.
Performance implications: SB-FUTEX builds should perform pretty much the
1. Threads idling on semaphores or condition variables aren't quite as
2. Contested locking around operations that take considerably longer
3. Contested locking around operations that don't take long is an order
4. Highly active semaphores perform much better. (Follows from #3.)
* GRAB-MUTEX gets timeout support on all platforms.
* CONDITION-WAIT gets timeout support.
* Disable a bunch of prone-to-hang thread tests on Darwin. (All of them
* Enable a bunch tests that now /pass/ on Darwin. \o/ This doesn't mean that
...but still not robust enough to enable threads on Darwin by default.
* GET-MUTEX/GRAB-MUTEX get refactored into two main parts: %TRY-MUTEX and
[ecfd15] by Jim Wise
Skip testl fcntl.flock.2 on NetBSD.
[cf3616] by Jim Wise
Adjust for NetBSD location of perl.
NetBSD does not ship with perl by default, but if it's present, it will
[5b137a] by Jim Wise
NetBSD also fails on test based on opening /dev/stdout from a script.
Add it to Darwin in platforms which skip this test.
[2a0f85] by Nikodemus Siivola
make DELETE-FILE respect *DEFAULT-PATHNAME-DEFAULTS*
MERGE-PATHNAMES to get an absolute pathname. (Using TRUENAME would be wrong,
Also remove the "for error checking" TRUENAME call from there: unlink will
Previously using relative pathnames it was possible to accidentally delete
NB: currently DELETE-DIRECTORY and RENAME-FILE use TRUENAME with just the
[ec8285] by Paul Khuong
Take inline trampoline into account when optimizing fall-through jumps
The IR2-level optimisation bug manifests itself as randomly bogus
Reported by Eric Marsden on sbcl-devel.
Test case by Anton Kovalenko.
[b85af7] by Nikodemus Siivola , pushed by Nikodemus Siivola
waiting for arbitrary events SB-EXT:WAIT-FOR
While using this to wait for other threads isn't good style,
And sometimes the event lives in the external world, in which case
(wait-for (probe-file pathname))
[b2036b] by Nikodemus Siivola
nuke the age-old experimental-thread.patch
Not pertinent anymore.
[a32e30] by Alastair Bridgewater
Minor lowtag-handling cleanup in genesis.
* Instead of explicitly testing a lowtag against two or four
[8b88c2] by Alastair Bridgewater
* Now that the thread structure doesn't have a lowtag, we can