Michael Bebenita
|
f985fded3e
|
Added lock_and_signal::signal_all(), and made the rust_kernel::join() use wait instead of yield.
|
2010-09-10 14:38:31 -07:00 |
|
Graydon Hoare
|
616b7afb72
|
Tidy up the sync dir, remove dead or mis-designed code in favour of OS primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin.
|
2010-09-08 19:13:49 -07:00 |
|
Michael Bebenita
|
7f6d8b95bd
|
Fixed race in the rust kernel.
|
2010-09-07 23:37:51 -07:00 |
|
Michael Bebenita
|
de611a3090
|
Lots of design changes around proxies and message passing. Made it so that domains can only talk to other domains via handles, and with the help of the rust_kernel.
|
2010-09-07 18:44:12 -07:00 |
|
Michael Bebenita
|
9b74129a4f
|
Added a thread utility class to factor out operations on threads.
|
2010-09-07 18:41:07 -07:00 |
|
Michael Bebenita
|
f8ff013e3c
|
Added a few utility classes, cleaned up the include order of .h files, and started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
|
2010-09-07 18:41:07 -07:00 |
|
Michael Bebenita
|
64ff82ecf9
|
Implemented an lock free queue based on this paper http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf, the "lock free queue" we had before wasn't lock free at all.
|
2010-08-24 21:07:14 -07:00 |
|
Michael Bebenita
|
6e9f0f952d
|
Made the lock_free_queue lock (temporarily, until fixed).
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
5d98a311e4
|
Putting out the burning tree on Windows. Turns out you can completely starve threads by not yielding on windows/vmware, really weird.
|
2010-08-16 18:44:26 -07:00 |
|
Michael Bebenita
|
988695a96c
|
Added support for task sleeping in the scheduler.
|
2010-08-11 21:24:04 -07:00 |
|
Michael Bebenita
|
9ff6a3d031
|
Added class to abstract away platform specific thread primitives.
|
2010-08-09 07:42:06 -07:00 |
|
Michael Bebenita
|
d2c2fbe7ca
|
Added timed_wait to condition variables.
|
2010-08-09 07:04:38 -07:00 |
|
Michael Bebenita
|
00d1465d13
|
Added a message passing system based on lock free queues for inter-thread communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.
|
2010-07-19 14:05:18 -07:00 |
|
Graydon Hoare
|
d6b7c96c3e
|
Populate tree.
|
2010-06-23 21:03:09 -07:00 |
|