MODULE Thread EXPORTS Thread, ThreadF, Scheduler, RTThreadInit;
IMPORT FloatMode;
Null implementation
REVEAL
MUTEX = BRANDED "Mutex 1.0" OBJECT END;
Condition = BRANDED "Thread.Condition v1.0" OBJECT END;
T = BRANDED "Thread.T v1.5" OBJECT END;
EXCEPTION NotImplemented;
--------------------------------------------- exception handling support --
PROCEDURE GetCurrentHandlers(): ADDRESS=
BEGIN
RETURN currentHandlers;
END GetCurrentHandlers;
PROCEDURE SetCurrentHandlers(h: ADDRESS)=
BEGIN
currentHandlers := h;
END SetCurrentHandlers;
PROCEDURE Init()=
BEGIN
END Init;
PROCEDURE GetDefaultStackSize(): CARDINAL=
BEGIN RAISE NotImplemented
END GetDefaultStackSize;
PROCEDURE MinDefaultStackSize(min: CARDINAL)=
BEGIN RAISE NotImplemented
END MinDefaultStackSize;
PROCEDURE IncDefaultStackSize(inc: CARDINAL)=
BEGIN RAISE NotImplemented
END IncDefaultStackSize;
PROCEDURE NewMutex(): Mutex=
BEGIN RETURN NEW(MUTEX);
END NewMutex;
PROCEDURE NewCondition(): Condition=
BEGIN RETURN NEW(Condition)
END NewCondition;
PROCEDURE Fork(cl: Closure): T=
BEGIN RAISE NotImplemented
END Fork;
PROCEDURE Join(t: T): REFANY=
BEGIN RAISE NotImplemented
END Join;
PROCEDURE Wait(m: Mutex; c: Condition)=
BEGIN
END Wait;
PROCEDURE Acquire(m: Mutex)=
BEGIN
END Acquire;
PROCEDURE Release(m: Mutex)=
BEGIN
END Release;
PROCEDURE Broadcast(c: Condition)=
BEGIN
END Broadcast;
PROCEDURE Signal(c: Condition)=
BEGIN
END Signal;
PROCEDURE Self(): T=
BEGIN RAISE NotImplemented
END Self;
PROCEDURE Alert(t: T)=
BEGIN RAISE NotImplemented
END Alert;
PROCEDURE TestAlert(): BOOLEAN=
BEGIN RETURN FALSE
END TestAlert;
PROCEDURE AlertWait(m: Mutex; c: Condition) RAISES {Alerted}=
BEGIN
END AlertWait;
PROCEDURE AlertJoin(t: T): REFANY RAISES {Alerted}=
BEGIN RAISE NotImplemented
END AlertJoin;
PROCEDURE Yield()=
BEGIN
END Yield;
PROCEDURE ProcessStacks (p: PROCEDURE (start, stop: ADDRESS)) =
BEGIN
END ProcessStacks;
PROCEDURE Pause(n: LONGREAL)=
BEGIN
END Pause;
PROCEDURE AlertPause(n: LONGREAL) RAISES {Alerted}=
BEGIN
END AlertPause;
PROCEDURE MyFPState (): UNTRACED REF FloatMode.ThreadState =
BEGIN
END MyFPState;
PROCEDURE RegisterHooks(h: Hooks; init := TRUE): Hooks RAISES {}=
BEGIN
END RegisterHooks;
PROCEDURE MyId(): Id RAISES {}=
BEGIN
END MyId;
BEGIN
END Thread.