about summary refs log tree commit diff
path: root/src/rt/rust_task.h
AgeCommit message (Collapse)AuthorLines
2011-07-06Added a task wakeup callback. Closes #599.Eric Holk-0/+9
The callback happens when a task moves from the "blocked" state to the "running" state. The callback is also inherited by child tasks. There is currently only a native API. This code hasn't been heavily exercised yet.
2011-06-29Added inheritance for task pinning. Closes #598 for real.Eric Holk-0/+1
2011-06-29Adding support for pinning tasks to the currently running thread. Closes #598.Eric Holk-2/+6
2011-06-28Renamed what's left of rust_dom to rust_schedulerEric Holk-4/+4
2011-06-28Removed dom_owned, splitting things between task_owned and kernel_owned. Had ↵Eric Holk-3/+36
to re-xfail a few tests brson recently un-xfailed.
2011-06-28Moved thread management to rust_kernel.Eric Holk-0/+1
2011-06-27Fixed a few concurrency bugs. Still not perfect, but overall it seems much ↵Eric Holk-1/+1
more reliable.
2011-06-27Basic multithreading support. The infinite loops test successfully maxes out ↵Eric Holk-0/+6
the CPU.
2011-06-15Fixed a problem where spawn arguments were getting lost again. Also, fixed ↵Eric Holk-2/+1
up stack alignment, which closes #496
2011-06-13This is the mega-ucontext commit. It replaces the task switching mechanism ↵Eric Holk-10/+4
with a new one inspired by ucontext. It works under Linux, OS X and Windows, and is Valgrind clean on Linux and OS X (provided the runtime is built with gcc). This commit also moves yield and join to the standard library, as requested in #42. Join is currently a no-op though.
2011-05-26More delicious dead code removal from runtime, upcalls.Graydon Hoare-1/+1
2011-05-24"constant propagate" rust_new_exit_task_glue to its only use.Rafael Ávila de Espíndola-2/+1
2011-05-18Remove dead rustboot code.Rafael Ávila de Espíndola-9/+0
2011-05-03Split start into rustc and rustboot versions. This introduces a bit ofRafael Ávila de Espíndola-0/+8
duplication, but we will hopefully drop the rustboot one soon. This is also a preparation for changing the rustc one to have the activate glue return to the exit glue which will then call the main function. This (returning to the function that calls main) matches what happens when loader stats a program or a new thread. It lets gdb produce good backtraces and should help with EH too.
2011-04-19Overhaul logging system in runtimeMarijn Haverbeke-2/+0
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
2011-02-22Add ABI tagging to crates, adjust rustc output and runtime stack-frame setup ↵Graydon Hoare-0/+1
so access to argv works.
2010-10-11Try to print backtraces on failurePatrick Walton-0/+3
2010-09-10Cleanup, refactoring, and some runtime tests.Michael Bebenita-5/+4
2010-09-08Cache task handles.Michael Bebenita-0/+2
2010-09-07Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita-0/+3
domains can only talk to other domains via handles, and with the help of the rust_kernel.
2010-08-17Added labels to blocking conditions.Michael Bebenita-1/+2
2010-08-11Added support for task sleeping in the scheduler.Michael Bebenita-0/+6
2010-08-09Add names to tasks and domains. These can either be an explicit literal stringJeffrey Yasskin-1/+4
after the "spawn" keyword, or implicitly the call expression used to start the spawn.
2010-07-28Move ports out into their own file, add data_message and make communication ↵Michael Bebenita-4/+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/+8
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-3/+2
strong-ref distinction on rust_proxy.
2010-07-28Add modeline / file-local emacs var blocks.Michael Bebenita-0/+10
2010-07-28Fix typos in comments, delete obsolete comments and dead commented code.Michael Bebenita-1/+1
2010-07-19Added a message passing system based on lock free queues for inter-thread ↵Michael Bebenita-0/+107
communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.