about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
AgeCommit message (Collapse)AuthorLines
2011-11-18rt: Remove some stack-wasting macros from rust_task::yieldBrian Anderson-4/+0
2011-11-18rt: Remove fail calls from rust_task::yieldBrian Anderson-5/+5
2011-11-18rt: Remove unblock call from rust_task::yieldBrian Anderson-5/+1
2011-11-18rt: Remove a lock from task_start_wrapper that does nothingBrian Anderson-3/+0
2011-11-18rt: Replace two uses of yield with ctx->swapBrian Anderson-3/+2
These uses aren't really doing a full yield. They are just giving up control to the scheduler and will never return.
2011-11-18rt: Add comments to rust_task::yieldBrian Anderson-0/+1
2011-11-18rt: rust_task::conclude_failure doesn't need to call unblockBrian Anderson-2/+0
2011-11-18rt: Add FIXMEs about races in rust_taskBrian Anderson-1/+8
2011-11-18rt: Remove task::on_wakeup. UnusedBrian Anderson-9/+0
2011-11-18rt: Remove some unnecessary setting of rust_task::killedBrian Anderson-2/+0
The value of this variable doesn't matter after the task fails.
2011-11-18rt: Remove rust_task::yield. UnusedBrian Anderson-5/+0
2011-11-18rt: Add some comments about methods that run on the Rust stackBrian Anderson-0/+2
2011-11-17Re-enable cycle coll. on x86_64, seems to work better now.Niko Matsakis-3/+0
2011-11-17rt: More work on morestackPatrick Walton-6/+23
2011-11-16Revert "rt: More work on morestack"Brian Anderson-23/+6
This reverts commit 68aff2ad6d55a051e9347aa38f945d114f282691.
2011-11-16rt: More work on morestackPatrick Walton-6/+23
2011-11-16rt: Remove an unnecessary check from rust_task::yieldBrian Anderson-3/+1
2011-11-16rt: Remove rust_task::notify_tasks_wating_to_joinBrian Anderson-15/+0
2011-11-16temp. disable cycle coll. on x86_64Niko Matsakis-0/+2
2011-11-14Revert "rt: More work on morestack"Patrick Walton-23/+6
This reverts commit ced0d4f15e11e2c74766d1055146946ded3fba51.
2011-11-14rt: More work on morestackPatrick Walton-6/+23
2011-11-13rt: Perform task notification before killing the parent taskBrian Anderson-18/+24
2011-11-11rt: Take the task lock when dropping port refcountsBrian Anderson-20/+15
Sucks, but otherwise there are races when one task drops the refcount to zero followed by another bumping it again
2011-11-11Fix run-fail/spawnfailBrian Anderson-2/+8
Catch the case where a parent is killed immediately before it terminates normally.
2011-11-11rt: Add locking invariants to rust_taskBrian Anderson-0/+8
2011-11-11rt: Remove rust_chanBrian Anderson-9/+10
2011-11-10rt: Move rust_chan::send to rust_port::sendBrian Anderson-2/+4
2011-10-31Stub a __morestack implementation and stack segment allocation. Untested.Patrick Walton-0/+26
2011-10-20Get rid of taskpointer-passing throughout the compilerMarijn Haverbeke-3/+2
Only intrinsics still take a dummy taskptr. We'll have to do some makefile stunts to snapshot a version without taskptrs-in-intrinsics. Issue #466
2011-10-20Remove spawn_wrap and main_wrap kludgesMarijn Haverbeke-16/+0
This isn't needed now that our functions are cdecl (and was apparently only still working by accident). Issue #992
2011-09-26rt: Turn on cycle collection at task death; add a test casePatrick Walton-1/+3
2011-09-26rt: Make the logic that moves environments between tasks update the GC alloc ↵Patrick Walton-0/+31
chain correctly
2011-09-20rt: Remove the GC alloc chainPatrick Walton-1/+0
2011-09-16Handle the case where a child task tries to kill a parent while it is dyingBrian Anderson-1/+1
Still looks pretty racy
2011-09-14Unsupervise tasks before the scheduler kills them. Unblock before yield->failBrian Anderson-0/+3
2011-09-14Make failure propagation to dead parents workBrian Anderson-3/+9
The failure will basically go 'through' the dead parent and continue propagating the failure (as if the child was reparented).
2011-09-14Make linked task failure work againBrian Anderson-3/+12
2011-09-11Remove unused task_exit functionBrian Anderson-12/+0
Issue #236
2011-09-07Unwind the stack on task failureBrian Anderson-8/+40
When a task fails, we will throw an exception, then catch it at the bottom of the stack. On Windows we don't do this yet because the exception doesn't propagate correctly. No cleanups yet. Issue #236
2011-09-07Child tasks take a ref to their parentsBrian Anderson-0/+10
This is so that when a child dies after the parent, it still holds a valid pointer and can call supervisor->kill() safely.
2011-09-07Rewrite spawn yet againBrian Anderson-8/+33
The motivation here is that the bottom of each stack needs to contain a C++ try/catch block so that we can unwind. This is already the case for main, but not spawned tasks. Issue #236
2011-09-07Refactor task failure a bitBrian Anderson-0/+3
Issue #236
2011-08-20Rewrite reap_dead_tasks to never grab the sched lock before a task lockBrian Anderson-0/+1
Doing so contradicts the locking order used everywhere else and causes deadlocks. Un-XFAIL task-perf-spawnalot Closes #854
2011-08-19rt: Remove rustboot's GC infrastructurePatrick Walton-88/+3
2011-08-17Making more of the rust_task structure directly accessible from Rust.Eric Holk-7/+6
2011-08-16rt: Implement obstacks, untested as of yetPatrick Walton-1/+2
2011-08-16New channel-based task status notifications.Eric Holk-2/+24
2011-08-16Removed trans_comm.rs from the compiler. Updating aio/sio to work with the ↵Eric Holk-0/+11
new chan and port system, started on a networking module for the standard library.
2011-08-15Removed spawn and task from the parser. Updated all the tests except for the ↵Eric Holk-2/+9
benchmarks.
2011-08-15Fixed memory accounting and task stack creation bugs.Eric Holk-1/+6