| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-03-21 | rt: Stop using large stacks for the main task | Brian Anderson | -8/+2 | |
| 2012-03-18 | rt: Remove lock_held_by_current_thread | Brian Anderson | -1/+0 | |
| 2012-03-15 | rt: Remove remaining uses of rust_kernel::get_task_by_id | Brian Anderson | -2/+2 | |
| 2012-02-27 | rt: Change the way the kernel exits to avoid pthread leaks | Brian Anderson | -5/+9 | |
| This makes the kernel join every scheduler thread before exiting in order to ensure that all threads are completely terminated before the process exits. On my machine, for 32-bit targets, this was causing regular valgrind errors. | ||||
| 2012-02-08 | rt: Change the lifecycle of tasks and schedulers for various reasons | Brian Anderson | -1/+22 | |
| This is in preparation for giving schedulers their own life cycle separate from the kernel. Tasks must be deleted before their scheduler thread, so we can't let the scheduler exit before all its tasks have been cleaned up. In this scheme, the scheduler will unregister tasks with the kernel when they are reaped, then drop their ref on the task (there may still be others). When the task ref count hits zero, the task will request to be unregistered from the scheduler, which is responsible for deleting the task. Instead of having the kernel tell the scheduler to exit, let the scheduler decide when to exit. For now it will exit when all of its tasks are unregistered. | ||||
| 2012-02-08 | rt: Refactor the rust_kernel interface a bit | Brian Anderson | -1/+1 | |
| 2012-02-08 | rt: Introduce scheduler ids | Brian Anderson | -2/+4 | |
| 2012-02-08 | rt: Delete schedulers immediately upon release | Brian Anderson | -0/+5 | |
| This will be needed once we support dynamically changing schedulers. | ||||
| 2012-02-08 | rt: Change the scheme used for terminating the kernel | Brian Anderson | -5/+14 | |
| Instead of joining on the scheduler threads, instead keep a count of active schedulers. When there are no more schedulers raise a signal for the main thread to continue. This will be required once schedulers can be added and removed from the running kernel. | ||||
| 2012-02-03 | rt: Make isaac_init not a template | Brian Anderson | -1/+1 | |
| 2012-02-03 | rt: Remove some silly locks in rust_scheduler | Brian Anderson | -4/+0 | |
| 2012-02-03 | rt: Clean up the way the kernel tracks tasks | Brian Anderson | -3/+1 | |
| 2012-02-03 | rt: Extract rust_scheduler from rust_task_thread | Brian Anderson | -0/+110 | |
| 2012-02-03 | rt: Rename rust_scheduler to rust_task_thread | Brian Anderson | -372/+0 | |
| 2012-02-02 | rt: Remove lock_and_signal::signal_all | Brian Anderson | -1/+1 | |
| 2012-02-02 | rt: Stop waking up the scheduler on a timer | Brian Anderson | -1/+1 | |
| 2012-02-02 | rt: Remove unused arguments in rust_scheduler | Brian Anderson | -5/+5 | |
| 2012-02-02 | rt: Simplify reap_dead_tasks | Brian Anderson | -28/+4 | |
| 2012-02-02 | rt: Remove rust_scheduler::interrupt_flag. Unused | Brian Anderson | -3/+0 | |
| 2012-02-02 | rt: Only wake up all schedulers when no tasks are left | Brian Anderson | -4/+17 | |
| At the moment there's not really any reason to be raising this signal, since they schedulers wake up periodically anyway, but once we remove the timer this will be how the schedulers know to exit. | ||||
| 2012-02-02 | rt: Remove bogus task reaping from the scheduler | Brian Anderson | -14/+4 | |
| 2012-02-02 | rt: Remove rust_task::can_schedule. Does nothing | Brian Anderson | -13/+5 | |
| 2012-02-02 | rt: Remove running_on flag. Does nothing | Brian Anderson | -2/+0 | |
| 2012-02-02 | rt: Remove task pinning. Does nothing | Brian Anderson | -3/+0 | |
| 2012-02-02 | rt: Remove yield timers | Brian Anderson | -4/+2 | |
| 2012-02-01 | rt: Remove rust_timer. Unused | Brian Anderson | -7/+0 | |
| 2012-01-29 | rt: Make the initial segment of the main task's stack 1MB | Brian Anderson | -2/+3 | |
| This is a trick to fool microbenchmarks. Closes #1681 | ||||
| 2012-01-12 | libcore: Add sys::set_exit_status | Brian Anderson | -2/+0 | |
| Sets the process exit code | ||||
| 2012-01-06 | fix how we walk functions to match new closure fmt | Niko Matsakis | -1/+1 | |
| 2011-12-28 | Tidy up some drift in runtime logging, close #1380. | Graydon Hoare | -8/+8 | |
| 2011-12-08 | rt: Make __morestack work on win32 | Brian Anderson | -0/+1 | |
| 2011-12-06 | rt: Rename stk_seg.limit to stk_seg.end | Brian Anderson | -1/+0 | |
| rust_task is using the word limit it two ways, so one has to change. | ||||
| 2011-12-01 | rt: Refactor record_sp into task::record_stack_limit | Brian Anderson | -4/+1 | |
| 2011-11-22 | rt: Make __morestack (without unwinding) work on 32-bit linux | Brian Anderson | -0/+4 | |
| 2011-11-18 | rt: Remove task::on_wakeup. Unused | Brian Anderson | -1/+0 | |
| 2011-11-17 | rt: Make stack growth code build on Linux | Brian Anderson | -4/+0 | |
| 2011-11-17 | rt: More work on morestack | Patrick Walton | -0/+10 | |
| 2011-11-16 | Revert "rt: More work on morestack" | Brian Anderson | -10/+0 | |
| This reverts commit 68aff2ad6d55a051e9347aa38f945d114f282691. | ||||
| 2011-11-16 | Revert "rt: Make stack growth code build on Linux" | Brian Anderson | -0/+4 | |
| This reverts commit da4b7da4e142a4c2119312c0e24b7c20bbe74e60. | ||||
| 2011-11-16 | rt: Make stack growth code build on Linux | Brian Anderson | -4/+0 | |
| 2011-11-16 | rt: More work on morestack | Patrick Walton | -0/+10 | |
| 2011-11-16 | rt: Remove rust_task::notify_tasks_wating_to_join | Brian Anderson | -1/+0 | |
| 2011-11-14 | Revert "rt: More work on morestack" | Patrick Walton | -10/+0 | |
| This reverts commit ced0d4f15e11e2c74766d1055146946ded3fba51. | ||||
| 2011-11-14 | rt: More work on morestack | Patrick Walton | -0/+10 | |
| 2011-09-28 | rt: Expose the C stack inside the Rust scheduler so that C calls can switch ↵ | Patrick Walton | -4/+2 | |
| to it | ||||
| 2011-09-27 | rt: Store the task in TLS | Patrick Walton | -0/+57 | |
| 2011-09-20 | rt: Rename rand() to isaac_rand() since the former prevents lots of standard ↵ | Patrick Walton | -1/+1 | |
| headers from being included | ||||
| 2011-09-14 | Unsupervise tasks before the scheduler kills them. Unblock before yield->fail | Brian Anderson | -0/+4 | |
| 2011-09-11 | Use a unique exit status when the runtime fails normally | Brian Anderson | -1/+1 | |
| Check for it in run-fail tests | ||||
| 2011-09-07 | Rewrite spawn yet again | Brian Anderson | -2/+2 | |
| 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 | ||||
