about summary refs log tree commit diff
path: root/src/rt/sync/lock_and_signal.cpp
AgeCommit message (Collapse)AuthorLines
2011-08-03timeout_in_ns was renamed to timeout_in_ms.Erick Tryzelaar-1/+1
2011-08-03Sleep for a nonzero amount of time on Windows.Eric Holk-3/+3
2011-07-28Updating to work on Windows.Eric Holk-1/+2
2011-07-28Adding upcalls to to ref() and deref() tasks. This is the first step towards ↵Eric Holk-1/+1
atomic reference counting of tasks.
2011-07-28Made task threads wait instead of sleep, so they can be woken up. This ↵Eric Holk-4/+30
appears to give us much better parallel performance. Also, commented out one more unsafe log and updated rust_kernel.cpp to compile under g++
2011-07-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-1/+1
2011-06-27A little tidying in rt.Graydon Hoare-1/+1
2011-06-27Implementation mising features in lock_and_signal for Win32. Also lowered ↵Eric Holk-4/+4
the minimum stack size to get the pfib benchmark to run without exhausting its address space on Windows.
2011-06-27Conservatively serialize nearly all upcalls. Successfuly ran make check with ↵Eric Holk-1/+3
RUST_THREADS=8, so we're probably fairly safe now. In the future we can relax the synchronization to get better performance.
2011-06-27Basic multithreading support. The infinite loops test successfully maxes out ↵Eric Holk-0/+23
the CPU.
2011-06-13This is the mega-ucontext commit. It replaces the task switching mechanism ↵Eric Holk-10/+10
with a new one inspired by ucontext. It works under Linux, OS X and Windows, and is Valgrind clean on Linux and OS X (provided the runtime is built with gcc). This commit also moves yield and join to the standard library, as requested in #42. Join is currently a no-op though.
2011-06-09Remove executable bit from lock_and_signal.cpp.Erick Tryzelaar-0/+0
2010-09-10Added lock_and_signal::signal_all(), and made the rust_kernel::join() use ↵Michael Bebenita-9/+24
wait instead of yield.
2010-09-08Tidy up the sync dir, remove dead or mis-designed code in favour of OS ↵Graydon Hoare-0/+97
primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin.