aboutsummaryrefslogtreecommitdiff
path: root/src/rt/sync
Commit message (Collapse)AuthorAgeFilesLines
* add FIXME related to the -fno-strict-aliasing workaroundMarijn Haverbeke2011-04-081-0/+2
|
* Add a virtual destructor to rust_thread in sync.h, to quiet the compilerPatrick Walton2010-10-201-0/+2
|
* Fixed deadlock caused by the message pump not being notified of new message ↵Michael Bebenita2010-09-161-1/+1
| | | | sends.
* Cleanup, refactoring, and some runtime tests.Michael Bebenita2010-09-104-0/+20
|
* Added lock_and_signal::signal_all(), and made the rust_kernel::join() use ↵Michael Bebenita2010-09-102-9/+25
| | | | wait instead of yield.
* Tidy up the sync dir, remove dead or mis-designed code in favour of OS ↵Graydon Hoare2010-09-0811-306/+125
| | | | primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin.
* Fixed race in the rust kernel.Michael Bebenita2010-09-072-2/+10
|
* Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita2010-09-071-2/+0
| | | | domains can only talk to other domains via handles, and with the help of the rust_kernel.
* Added a thread utility class to factor out operations on threads.Michael Bebenita2010-09-072-0/+64
|
* Added a few utility classes, cleaned up the include order of .h files, and ↵Michael Bebenita2010-09-071-0/+2
| | | | started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
* Implemented an lock free queue based on this paper ↵Michael Bebenita2010-08-244-13/+284
| | | | http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf, the "lock free queue" we had before wasn't lock free at all.
* Made the lock_free_queue lock (temporarily, until fixed).Michael Bebenita2010-08-172-0/+7
|
* Putting out the burning tree on Windows. Turns out you can completely starve ↵Michael Bebenita2010-08-162-2/+2
| | | | threads by not yielding on windows/vmware, really weird.
* Added support for task sleeping in the scheduler.Michael Bebenita2010-08-112-0/+86
|
* Added class to abstract away platform specific thread primitives.Michael Bebenita2010-08-092-0/+21
|
* Added timed_wait to condition variables.Michael Bebenita2010-08-092-5/+24
|
* Added a message passing system based on lock free queues for inter-thread ↵Michael Bebenita2010-07-196-16/+119
| | | | communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.
* Populate tree.Graydon Hoare2010-06-236-0/+171