|
Class: AbstractLock
Object
|
+--AbstractLock
|
+--BoltLock
|
+--Semaphore
- Package:
- stx:libbasic
- Category:
- Kernel-Processes
- Version:
- rev:
1.4
date: 2023/06/20 08:24:45
- user: cg
- file: AbstractLock.st directory: libbasic
- module: stx stc-classLibrary: libbasic
- Author:
- cg
code common to Semaphore and BoltLock
queries
-
isAbstract
-
Return if this class is an abstract class.
True is returned here for myself only; false for subclasses.
Abstract subclasses must redefine this again.
Compatibility-ST80
-
isEmpty
-
ST80 compatibility - return true if there are no waiters
accessing
-
name
-
return the semaphore's userFriendly name (only used by semaphore- and process monitors)
-
name: aString
-
set the semaphore's userFriendly name (only used by semaphore- and process monitors)
private
-
addWaitingProcess: aProcess
-
add aProcess to the list of waiting processes.
all processes are ordered first-come-first-serve.
NOTE: must be called with blocked interrupts
-
removeWaitingProcess: aProcess
-
remove aProcess from the list of waiting processes
NO action if it is not in the list.
NOTE: must be called with blocked interrupts
-
wakeupWaiters
-
remove all waiting processes from the list of waiting processes
and resume them.
Answer true, if a higher priority process became ready, false if not.
NOTE: Must be called when known that waitingProcesses is nonNil and
also with blocked interrupts.
May not perform an operation that causes a reschedule.
queries
-
waitingProcesses
-
return the processes waiting on the receiver
|