summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
AgeCommit message (Collapse)AuthorLines
2010-09-07Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita-4/+9
domains can only talk to other domains via handles, and with the help of the rust_kernel.
2010-09-07Change signature of array_list::pop().Michael Bebenita-1/+2
2010-08-20Disable task-growing logic for now until #151 is fixedPatrick Walton-1/+10
2010-08-17Added labels to blocking conditions.Michael Bebenita-1/+4
2010-08-11Added support for task sleeping in the scheduler.Michael Bebenita-3/+9
2010-08-10Merge commit 'jyasskin/work'Graydon Hoare-19/+24
Conflicts: src/rt/rust_dom.cpp src/rt/rust_upcall.cpp
2010-08-09Synthesize a flush_chan upcall right before a channel's ref_count drops to ↵Michael Bebenita-0/+5
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-09Fixed deadlock in the scheduler caused by condition variables.Michael Bebenita-3/+0
2010-08-09Some pretty printing in the runtime.Michael Bebenita-0/+5
2010-08-09Add names to tasks and domains. These can either be an explicit literal stringJeffrey Yasskin-19/+24
after the "spawn" keyword, or implicitly the call expression used to start the spawn.
2010-07-29Log join-wait count under rust_log::TASK bits, not ::ALL.Graydon Hoare-1/+1
2010-07-28Move ports out into their own file, add data_message and make communication ↵Michael Bebenita-14/+0
system use it (and proxies) instead of existing token scheme.
2010-07-28Move notification-messages out into their own file and unify into ↵Michael Bebenita-0/+18
notify_message, make them use proxies, cache task proxies in dom.
2010-07-28Rename rust_proxy_delegate to maybe_proxy, flesh out logic in it. Add ↵Michael Bebenita-1/+1
strong-ref distinction on rust_proxy.
2010-07-28Null rust_task::cond on wakeup, add asserts and logging to block/wakeup.Michael Bebenita-5/+11
2010-07-20Fix message formatting in runtime library.Graydon Hoare-6/+6
2010-07-19Added a message passing system based on lock free queues for inter-thread ↵Michael Bebenita-16/+41
communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.
2010-07-15Adjust call args laid out by fake frame created in rust_task::start to ↵Roy Frostig-0/+3
reflect new position of closure-or-obj pointer.
2010-07-12Correct doubly-linked list management logic; bug exposed during conversation ↵Graydon Hoare-0/+4
on issue #106.
2010-07-11Fix for compile error when using gcc 4.5.0Chris Double-1/+1
2010-07-05Change from 'spawner' to 'supervisor' in rust_task, and add an unsupervise call.Graydon Hoare-5/+14
2010-07-02Actually link GC allocations onto the gc_alloc_chain, der.Graydon Hoare-0/+1
2010-06-28Move more of the GC logic into the runtime.Graydon Hoare-0/+78
2010-06-25Add rust_task::gc(size_t args) method that drops us back into the GC glue.Graydon Hoare-0/+8
2010-06-23Populate tree.Graydon Hoare-0/+474