Ben Blum
3b159c6d5b
Revert linked failure (renaming runtime fns)
...
Revert "Rename runtime *_locked() and *_unlocked() fns to *_inner() (closes #2864 )"
This reverts commit b897696a3a
.
2012-07-12 19:49:49 -04:00
Ben Blum
a10f52c579
Revert linked failure (rust_port locking)
...
This reverts commit 343e9de8ef
.
2012-07-12 19:49:49 -04:00
Ben Blum
5724c64549
Revert linked failure (killing runtime)
...
This reverts commit 200a2ded32
.
2012-07-12 19:49:49 -04:00
Ben Blum
200a2ded32
Fix linked failure with root taskgroup to kill the runtime too.
2012-07-12 18:08:36 -04:00
Ben Blum
343e9de8ef
Proper locking with blocked_on()/wakeup() in rust_port. Closes #2787 . Closes #1923 .
2012-07-12 18:08:36 -04:00
Ben Blum
b897696a3a
Rename runtime *_locked() and *_unlocked() fns to *_inner() ( closes #2864 )
2012-07-12 18:08:36 -04:00
Ben Blum
74f4b8d901
Unify state_lock + kill_lock -> lifecycle_lock ( #2787 )
2012-07-11 12:09:07 -04:00
Ben Blum
5d6d3d0565
Linked failure in task.rs instead of rust_task.cpp ( #1868 , #1189 )
2012-07-11 12:07:06 -04:00
Ben Blum
e8b13e8f26
rust_task.h - fix disallow_kill & don't inherit rust_cond
2012-07-11 12:07:06 -04:00
Eric Holk
26e6eb3d14
Handle failure conditions correctly in pipes.
2012-07-10 22:00:47 -07:00
Eric Holk
e5c9cb2b3d
Pipes sleep and wake properly.
2012-07-06 10:42:39 -07:00
Ben Blum
7b3add0632
make disallow_kill an int for nested unkillables ( closes #2782 )
2012-07-05 19:56:09 -04:00
Brian Anderson
6f57c61ed0
Tidy fixes
2012-06-27 22:03:12 -07:00
Ben Blum
1ba3028d8b
rt: Add task_local_data and related builtin calls ( Closes #2680 )
2012-06-28 00:10:03 -04:00
Graydon Hoare
d3c6119a7a
More keyword paring and migration in runtime, docs, code modes.
2012-06-27 13:30:49 -07:00
Graydon Hoare
312faf31df
Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.
2012-06-21 16:44:10 -07:00
Brian Anderson
94ac30c498
rt: Improve docs for main, kernel, scheduler, and task
2012-06-02 23:14:47 -07:00
Brian Anderson
4c8bc19ad2
rt: Refactor task failure to go through rust_task_fail
...
This is the place to but a breakpoint. We will raise SIGINT here
to break into the debugger.
2012-05-31 23:47:52 -07:00
Brian Anderson
5d625af9f9
rt: Make task killing synchronization possibly more correct
...
I could not come up with a test but this looks better to me.
2012-05-15 16:13:42 -07:00
Brian Anderson
7277cd7198
core: Add task::unkillable
2012-05-15 16:13:42 -07:00
Jon Morton
72ffb4b446
fix 'I don't know how C works'
2012-04-03 16:02:38 -07:00
Jon Morton
386069f39e
actually remove memory.h; include cleanups
2012-04-03 16:02:38 -07:00
Jon Morton
632a4c9326
Refactor includes structure, getting rid of rust_internal.h
...
Many changes to code structure are included:
- removed TIME_SLICE_IN_MS
- removed sychronized_indexed_list
- removed region_owned
- kernel_owned move to kernel.h, task_owned moved to task.h
- global configs moved to rust_globals.h
- changed #pragma once to standard guard in rust_upcall.h
- got rid of memory.h
2012-04-03 16:02:38 -07:00
Brian Anderson
dd63c5ef1d
rt: Add an assert to rust_get_current_task
2012-04-02 14:23:24 -07:00
Jon Morton
fa88d15d63
remove unneeded assert, move get_task_tls to sched_loop
2012-04-02 14:21:09 -07:00
Jon Morton
33a949eed6
Add global rust_get_current_task
...
Previously two methods existed: rust_sched_loop::get_task and rust_task::get_task_from_tcb. Merge both of them into one, trying the faster one (tcb) first, and if that fails, the slower one from the tls.
2012-04-02 14:21:08 -07:00
Jon Morton
413994ea3e
replace assertion macros with plain asserts
2012-04-01 21:14:16 -05:00
Brian Anderson
e78396850d
Merge remote-tracking branch 'brson/mainthread'
...
Conflicts:
src/rt/rust_sched_loop.cpp
src/rt/rust_shape.cpp
src/rt/rust_task.cpp
2012-04-01 00:15:04 -07:00
Brian Anderson
21064637ed
rt: Fix whitespace
2012-03-31 23:12:06 -07:00
Brian Anderson
243790836a
rt: Rename rust_task_thread to rust_sched_loop
...
This class no longer represents a thread; it just schedules tasks.
2012-03-31 19:51:29 -07:00
Brian Anderson
f7f1490d6e
rt: Run resource destructors during cycle collection
2012-03-22 19:07:31 -07:00
Brian Anderson
d7be4abdae
rt: Fix valgrind stack hints
2012-03-21 19:10:32 -07:00
Brian Anderson
4ad57f5c39
rt: Add rust_task::get_task_from_tcb
2012-03-21 19:10:32 -07:00
Brian Anderson
1cb35c9b26
rt: Rename record_sp to record_sp_limit
2012-03-21 19:10:31 -07:00
Brian Anderson
b78af4f7c4
rt: Inline a bunch of stack switching code
2012-03-21 19:10:31 -07:00
Brian Anderson
6115b13dfc
rt: Don't switch to the C stack on the upcall_new_stack fast path
2012-03-21 19:10:31 -07:00
Brian Anderson
8a145a601e
rt: Don't swatch stacks during upcall_del_stack
2012-03-21 19:10:31 -07:00
Brian Anderson
05466c6138
rt: Use an enum to represent the task state
2012-03-18 17:41:56 -07:00
Marijn Haverbeke
76d07f4056
Remove dynastack support from runtime
...
Issue #1982
2012-03-16 00:44:06 +01:00
Marijn Haverbeke
146b61189a
Get rid of rust_crate_cache in the runtime
...
We are no longer generating dynamic tydescs or dicts.
Issue #1982
2012-03-16 00:44:06 +01:00
Brian Anderson
561511e628
core: Channels are just port ids
2012-03-15 11:10:53 -07:00
Brian Anderson
b278d675a2
rt: Look up ports through a single port table
...
Instead of a two-level lookup, just use one big table
2012-03-15 11:10:52 -07:00
Brian Anderson
4c4a2320eb
rt: Make rust_port_detach less contentious
...
It still utterly dominates some benchmarks with busy waiting, but at least it
doesn't create lock contention while doing so.
2012-03-05 19:39:56 -08:00
Brian Anderson
0a5603cb58
rt: Make linked failure less prone to deadlock
...
Still a mess.
2012-03-05 19:39:56 -08:00
Brian Anderson
e3ccac8ed3
rt: Renome rust_task::lock to port_lock
2012-03-05 19:39:55 -08:00
Brian Anderson
2465a63a69
rt: Move transition from rust_task to rust_task_thread
2012-03-05 19:39:55 -08:00
Brian Anderson
237652299e
rt: Protect cond and cond_name with the state_lock
2012-03-05 19:39:55 -08:00
Brian Anderson
b2a075e20d
rt: Protect rust_task::state with a lock
2012-03-05 19:39:55 -08:00
Brian Anderson
d7298a797b
rt: Protect rust_task::killed with a lock
2012-03-05 19:39:55 -08:00
Brian Anderson
04d9cc18a5
rt: Protect rust_task::supervisor with a lock
2012-03-02 16:33:33 -08:00