aboutsummaryrefslogtreecommitdiff
path: root/src/rt
Commit message (Collapse)AuthorAgeFilesLines
* Added simple deadlock detection in the scheduler.Michael Bebenita2010-08-172-0/+28
|
* Lots of changes around memory managment in the Runtime. Added memory regions ↵Michael Bebenita2010-08-1712-124/+298
| | | | and fixed race caused by calling rust_srv::malloc() from multiple threads when sending messages.
* Add a "special" rust_log flag to be used for debugging in cases where the ↵Michael Bebenita2010-08-172-0/+2
| | | | full log output prevents races from occurring.
* Added labels to blocking conditions.Michael Bebenita2010-08-174-8/+13
|
* Fixed deadlock by removing channel flushing.Michael Bebenita2010-08-172-32/+20
|
* 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-163-5/+5
| | | | threads by not yielding on windows/vmware, really weird.
* Un-xfailed working tests.Michael Bebenita2010-08-161-1/+2
|
* Pulled rust_srv in its own file. Some cleanup, and added varargs to ↵Michael Bebenita2010-08-166-128/+164
| | | | assertion macros.
* A little tidy-up that should have gone in with ↵Roy Frostig2010-08-121-2/+2
| | | | 4e376852e709844d67f94430d9dc954d5be722b4.
* Add vec debugging utility to _vec module.Roy Frostig2010-08-123-1/+20
|
* Added support for task sleeping in the scheduler.Michael Bebenita2010-08-118-8/+127
|
* Remove commented-out code that slipped in during last commit.Roy Frostig2010-08-111-16/+0
|
* Ignore upcall_flush for channels that are disassociated from ports. This ↵Michael Bebenita2010-08-114-2/+16
| | | | makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed.
* Made ref_count a word sized value.Michael Bebenita2010-08-111-1/+1
|
* Print domain and task names in log prefix.Michael Bebenita2010-08-111-4/+13
|
* Add native vec[u8] to str converter. Put in workaround for leak in str to ↵Roy Frostig2010-08-111-19/+68
| | | | vec[u8] converter. Add testcase exercising both. Drive-by fix a potential array-out-of-bounds write on rust_str buffers.
* Merge commit 'jyasskin/work'Graydon Hoare2010-08-106-78/+104
|\ | | | | | | | | | | Conflicts: src/rt/rust_dom.cpp src/rt/rust_upcall.cpp
| * Add names to tasks and domains. These can either be an explicit literal stringJeffrey Yasskin2010-08-096-71/+100
| | | | | | | | | | after the "spawn" keyword, or implicitly the call expression used to start the spawn.
* | Synthesize a flush_chan upcall right before a channel's ref_count drops to ↵Michael Bebenita2010-08-098-55/+93
| | | | | | | | 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.
* | Fixed deadlock in the scheduler caused by condition variables.Michael Bebenita2010-08-094-11/+13
| |
* | Added peek() to ptr_vec.Michael Bebenita2010-08-092-0/+8
| |
* | Made ref_count signed to help detect negative ref_count bugs.Michael Bebenita2010-08-091-1/+1
| |
* | Some pretty printing in the runtime.Michael Bebenita2010-08-096-18/+66
| |
* | Added class to abstract away platform specific thread primitives.Michael Bebenita2010-08-092-0/+21
| |
* | Made the runtime keep track of all live domains and print their state.Michael Bebenita2010-08-092-0/+16
| |
* | Added the RUST_SEED env variable to seed the Rust task scheduler -- helpful ↵Michael Bebenita2010-08-091-5/+14
| | | | | | | | when debugging task race conditions within a single thread domain.
* | Added "none" option to rust_log env string to disable all log output.Michael Bebenita2010-08-091-0/+1
| |
* | Added timed_wait to condition variables.Michael Bebenita2010-08-093-5/+26
| |
* | Changed array_list::replace() return behavior.Michael Bebenita2010-08-092-8/+10
|/
* Implement _str.len() to return the number of bytes, rename it to byte_len(),Jeffrey Yasskin2010-08-061-0/+6
| | | | and add a test.
* Add a buffered writer to stdlib _io module.Roy Frostig2010-08-041-2/+2
|
* Log join-wait count under rust_log::TASK bits, not ::ALL.Graydon Hoare2010-07-291-1/+1
|
* Log dead tasks when dom is just waiting for refcounts to drop.Michael Bebenita2010-07-281-2/+7
|
* Note that we keep running the main loop until all task refcounts are zero.Michael Bebenita2010-07-281-1/+2
|
* Move ports out into their own file, add data_message and make communication ↵Michael Bebenita2010-07-2813-178/+254
| | | | system use it (and proxies) instead of existing token scheme.
* Move notification-messages out into their own file and unify into ↵Michael Bebenita2010-07-287-65/+244
| | | | notify_message, make them use proxies, cache task proxies in dom.
* Rename rust_proxy_delegate to maybe_proxy, flesh out logic in it. Add ↵Michael Bebenita2010-07-284-23/+48
| | | | strong-ref distinction on rust_proxy.
* Add rust_dom::log_state, for logging the running/blocked/dead vectors per ↵Michael Bebenita2010-07-282-0/+32
| | | | scheduling iteration.
* Null rust_task::cond on wakeup, add asserts and logging to block/wakeup.Michael Bebenita2010-07-281-5/+11
|
* Teach task_owned and dom_owned to find their dom via consistent interface.Michael Bebenita2010-07-281-0/+6
|
* Add modeline / file-local emacs var blocks.Michael Bebenita2010-07-285-0/+54
|
* Move rust_cond.Michael Bebenita2010-07-281-9/+7
|
* Fix typos in comments, delete obsolete comments and dead commented code.Michael Bebenita2010-07-285-92/+2
|
* Wrap long lines.Michael Bebenita2010-07-282-3/+4
|
* Add C++ wrapper around uthash.Michael Bebenita2010-07-281-0/+193
|
* Let circular buffers actually grow to max sz, reset _next when resizing.Michael Bebenita2010-07-281-5/+7
|
* Change unread-on-destroy condition for circular buffer to merely a warning.Michael Bebenita2010-07-281-1/+1
|
* Add comment explaining NULL case in circular_buffer::enqueue and add logging ↵Michael Bebenita2010-07-281-1/+7
| | | | to ::dequeue.
* Add peek method to circular buffer.Michael Bebenita2010-07-282-0/+6
|