rust/src/libstd/rt
Eric Reed 35e844ffc1 Make IO thread-safe.
Each IO handle has a home event loop, which created it.
When a task wants to use an IO handle, it must first make sure it is on that home event loop.
It uses the scheduler handle in the IO handle to send itself there before starting the IO action.
Once the IO action completes, the task restores its previous home state.
If it is an AnySched task, then it will be executed on the new scheduler.
If it has a normal home, then it will return there before executing any more code after the IO action.
2013-08-19 16:31:21 -07:00
..
io Make IO thread-safe. 2013-08-19 16:31:21 -07:00
uv Make IO thread-safe. 2013-08-19 16:31:21 -07:00
args.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
borrowck.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
comm.rs Fix select() in light of the deschedule...and then race. Close #8347. 2013-08-12 13:54:21 -04:00
context.rs A major refactoring that changes the way the runtime uses TLS. In the 2013-08-01 15:14:00 -07:00
env.rs Remove the C++ runtime. Sayonara 2013-08-09 16:45:50 -07:00
global_heap.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
kill.rs Reserve 'yield' keyword 2013-08-16 13:26:50 -07:00
local.rs std: Re-optimize tls access on local allocation path 2013-08-12 22:30:32 -07:00
local_heap.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
local_ptr.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
logging.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
message_queue.rs Change concurrency primitives to standard naming conventions 2013-07-27 22:06:29 -07:00
metrics.rs std::rt: Add JoinLatch 2013-06-13 23:18:45 -07:00
mod.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
rc.rs Change finalize -> drop. 2013-06-25 21:14:39 -04:00
rtio.rs Make IO thread-safe. 2013-08-19 16:31:21 -07:00
sched.rs Enabled workstealing in the scheduler. Previously we had one global work queue shared by each scheduler. Now there is a separate work queue for each scheduler, and work is "stolen" from other queues when it is exhausted locally. 2013-08-08 14:13:41 -07:00
select.rs Reorganise Select traits to not expose internal runtime types. Close #5160. Pending #8215. 2013-08-12 13:54:21 -04:00
sleeper_list.rs Change concurrency primitives to standard naming conventions 2013-07-27 22:06:29 -07:00
stack.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
task.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
test.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
thread.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
thread_local_storage.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
tube.rs remove obsolete foreach keyword 2013-08-03 22:48:02 -04:00
util.rs Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
work_queue.rs Change concurrency primitives to standard naming conventions 2013-07-27 22:06:29 -07:00