Patrick Walton
991cbfe42c
Revert "rt: Call the Rust box annihilator; stop calling the cycle collector" due to crashes
...
This reverts commit bb0ad11252
.
2012-09-24 14:14:03 -07:00
Patrick Walton
bb0ad11252
rt: Call the Rust box annihilator; stop calling the cycle collector
2012-09-24 13:57:48 -07:00
Patrick Walton
d155410674
rt: Make the boxed region come earlier in the rust_task structure.
...
This is so that GC can find it more easily.
2012-09-05 20:08:00 -07:00
Ben Blum
5ba7434cb1
Avoid lifecycle_lock traffic in call_on_rust_stack. ( close #3270 )
2012-08-24 18:28:26 -04:00
Ben Blum
47cca22d54
Bypass lifecycle_lock in inhibit_kill/allow_kill for 3% to 5% speedup. Close #3213 .
2012-08-21 18:03:41 -04:00
Eric Holk
9f287c211e
Refcount tasks in packets to avoid races.
...
Revert "Once again, revert "Use pipes in compiletest""
Fixes #3098
2012-08-06 09:10:19 -07:00
Eric Holk
86947e47ad
More documentation on pipes, and moving assert in runtime.
2012-08-06 09:07:40 -07:00
Eric Holk
01ca0d1f68
Be more defensive in pipes ( #3098 )
2012-08-03 12:04:18 -07:00
Ben Blum
7cb3f3e86a
Linked failure: enable unidirectional propagate test; replace FIXMEs with comments (tag #1868 ).
2012-08-01 23:08:06 -04:00
Ben Blum
8d43724087
minor rt cleanup
2012-07-25 13:24:00 -04:00
Ben Blum
c68f2d9aab
Remove notification channels in runtime ( closes #1078 )
2012-07-25 13:22:43 -04:00
Ben Blum
695ab09899
Change yield() and wait_event() to be MUST_CHECK and return the killed flag. ( closes #2875 )
2012-07-24 18:24:24 -04:00
Ben Blum
2040a5c632
tiny runtime cleanup
2012-07-24 17:35:08 -04:00
Ben Blum
ae094a7adc
Add 'do atomically { .. }' for exclusives
2012-07-24 15:28:35 -04:00
Ben Blum
5bb4a12900
[1/4 for #2365 , #2671 ] Fix create/kill race with schedulers and tasks during rust_kernel::fail
2012-07-20 19:23:19 -04:00
Ben Blum
4cf6b4d3b4
Tasks should not hold a ref to their parent ( Close #1789 )
2012-07-17 20:45:07 -04:00
Ben Blum
1f2ee4b384
Oops, switch more TODOs to FIXMEs
2012-07-13 20:33:08 -04:00
Ben Blum
cd38377b1b
Add asserts to check fail_sched_loop() only once
2012-07-13 20:13:53 -04:00
Ben Blum
d338879ba5
Reintroduce linked failure (killing runtime)
...
This reverts commit 5724c64549
.
2012-07-13 20:13:53 -04:00
Ben Blum
62575d9c4a
Reintroduce linked failure (rust_port locking)
...
This reverts commit a10f52c579
.
2012-07-13 20:13:53 -04:00
Ben Blum
aad184cc57
Reintroduce linked failure (renaming runtime fns)
...
This reverts commit 3b159c6d5b
.
2012-07-13 20:13:53 -04:00
Ben Blum
79a2e9a38a
Reintroduce linked failure (lifecycle lock)
...
This reverts commit 08c40c5eb7
.
2012-07-13 20:13:53 -04:00
Ben Blum
df2d2604ca
Reintroduce linked failure
...
This reverts commit acb86921a6
.
2012-07-13 20:13:53 -04:00
Ben Blum
acb86921a6
Revert linked failure
...
This reverts commit 5d6d3d0565
.
2012-07-12 19:49:49 -04:00
Ben Blum
08c40c5eb7
Revert linked failure (lifecycle lock)
...
This reverts commit 74f4b8d901
.
2012-07-12 19:49:49 -04:00
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
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
Ben Blum
ae7b0ac390
move reset_stack_limit off C stack ( closes #2679 )
2012-06-28 14:53:21 -04: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
576f59a79b
Change 'upcall fail' to 'task failed at', close #2678 .
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
Michael Sullivan
b4484d51c1
Some cleanup in the runtime.
2012-06-18 15:54:37 -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
a2bbdd3f52
rt: Remove upcall_shared_malloc/free/realloc
2012-05-30 21:23:34 -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
Niko Matsakis
be48cd87dc
make poison-on-free work, disable copying if borrowck is enabled
2012-05-15 11:49:08 -07:00
Brian Anderson
564d8e09c7
rt: Fix typo
2012-04-09 16:26:23 -07:00
Brian Anderson
596376ea55
rt: Allow 2x normal stack during unwinding. Closes #2173
...
Allows room for destructors to run without allowing the stack to grow forever.
2012-04-09 16:03:06 -07:00
Brian Anderson
b42c6d07dc
rt: Don't limit the amount of stack available during unwinding. Closes #2144
2012-04-09 15:36:45 -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