Eric Holk
|
681c063ec0
|
Conservatively serialize nearly all upcalls. Successfuly ran make check with RUST_THREADS=8, so we're probably fairly safe now. In the future we can relax the synchronization to get better performance.
|
2011-06-27 09:58:39 -07:00 |
|
Eric Holk
|
4d99bf9af2
|
Added some locking to ports to prevent the case where two threads simultaneously wake up a task blocked on a certain port.
|
2011-06-27 09:58:39 -07:00 |
|
Michael Bebenita
|
97d6342bf0
|
Synthesize a flush_chan upcall right before a channel's ref_count drops to zero. This should only happen in the Rust code and not in the drop glue, or on the unwind path. This change allows the task owning the channel to block on a flush and delete its own channel. This change also cleans up some code around rust_port and rust_chan.
|
2010-08-09 08:15:34 -07:00 |
|
Michael Bebenita
|
30734a9a7b
|
Some pretty printing in the runtime.
|
2010-08-09 07:52:07 -07:00 |
|
Michael Bebenita
|
4246d567b7
|
Move ports out into their own file, add data_message and make communication system use it (and proxies) instead of existing token scheme.
|
2010-07-28 20:30:29 -07:00 |
|