aboutsummaryrefslogtreecommitdiff
path: root/src/rt/rust_port.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Overhaul logging system in runtimeMarijn Haverbeke2011-04-191-9/+8
| | | | | | | | | | | | | | See https://github.com/graydon/rust/wiki/Logging-vision The runtime logging categories are now treated in the same way as modules in compiled code. Each domain now has a log_lvl that can be used to restrict the logging from that domain (will be used to allow logging to be restricted to a single domain). Features dropped (can be brought back to life if there is interest): - Logger indentation - Multiple categories per log statement - I possibly broke some of the color code -- it confuses me
* Move to macro-based logging checks in the C++ codeMarijn Haverbeke2011-04-071-7/+7
| | | | | No functions should be called for log statements that turn out to be inactive.
* Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita2010-09-071-3/+3
| | | | domains can only talk to other domains via handles, and with the help of the rust_kernel.
* Fixed deadlock by removing channel flushing.Michael Bebenita2010-08-171-7/+6
|
* Ignore upcall_flush for channels that are disassociated from ports. This ↵Michael Bebenita2010-08-111-2/+2
| | | | makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed.
* Synthesize a flush_chan upcall right before a channel's ref_count drops to ↵Michael Bebenita2010-08-091-3/+21
| | | | 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.
* Some pretty printing in the runtime.Michael Bebenita2010-08-091-0/+16
|
* Move ports out into their own file, add data_message and make communication ↵Michael Bebenita2010-07-281-0/+39
system use it (and proxies) instead of existing token scheme.