thread/src/WIN32/ThreadF.i3


Copyright (C) 1994, Digital Equipment Corp.

INTERFACE ThreadF;
--------------------------------------------- exception handling support --

PROCEDURE GetCurrentHandlers(): ADDRESS;
== RETURN WinBase.TlsGetValue(handlersIndex)

PROCEDURE SetCurrentHandlers(h: ADDRESS);
== WinBase.TlsSetValue(handlersIndex, h)
--------------------------------------------- garbage collector support ---

PROCEDURE SuspendOthers ();
Suspend all threads except the caller's

PROCEDURE ResumeOthers ();
Resume the threads suspended by SuspendOthers

PROCEDURE ProcessStacks (p: PROCEDURE (start, stop: ADDRESS));
Apply p to each thread stack, with start and stop being the limits of the stack. All other threads must be suspended. ProcessStacks exists solely for the garbage collector.
 Feature:  Windows threads not created by Thread.Fork are not suspended
    or resumed, and their stacks are not processed. 

------------------------------------------------------------ preemption ---

PROCEDURE SetSwitchingInterval (usec: CARDINAL);
Sets the time between thread preemptions to 'usec' microseconds. This procedure is a no-op on Windows/NT.
------------------------------------------------------------ thread IDs ---

TYPE
  Id = INTEGER;

PROCEDURE MyId (): Id RAISES {};
return Id of caller

END ThreadF.

ThreadF's implementation is in:


procedure ThreadF.GetCurrentHandlers is in:


procedure ThreadF.SetCurrentHandlers is in:


procedure ThreadF.SuspendOthers is in:


procedure ThreadF.ResumeOthers is in:


procedure ThreadF.ProcessStacks is in:


procedure ThreadF.SetSwitchingInterval is in:


procedure ThreadF.MyId is in: