6 guid: "AE4A734E-EA8B-11D9-8142-000A95BB581A";
10 guid: "A592FD94-5945-11DA-B99F-000A95BB581A";
12 get_thread(Thread unpriv out);
14 // Asynchronous blocking (i.e. calling this method from a different
15 // thread) is not currently allowed. It may be later, using a
16 // separate blocker field in the kernel. This would be mainly for
17 // supporting debuggers, and would not take effect until the thread
18 // returns to userspace (if currently blocked or executing kernel
21 block(Blocker blocker);
23 // Like block, but with multiple blockers. The thread wakes when any
24 // of the blockers have been unblocked.
26 block_multi(Blocker[] blocker);
29 interface ThreadSched {
30 guid: "AEB5CD7C-EA8B-11D9-BE15-000A95BB581A";
32 // Set the thread's scheduling policy and parameters. Throws
33 // InvalidArgument if sched is not a scheduler provided by the
34 // local kernel, or if param is not of the subtype required by
37 set_sched(Scheduler sched, SchedParams param);
40 struct SchedParams virtual {
41 guid: "1C406B42-2878-11DA-93B8-00112431A05E";
45 guid: "AF383690-EA8B-11D9-95D8-000A95BB581A";
49 guid: "30D19964-5945-11DA-BC3B-000A95BB581A";