Category: Language-Processes
Superclass: Object
I provide methods that control the execution of processes.

Method category index

instance creation (class)
basic (instance)
built ins (instance)
idle tasks (instance)
printing (instance)
priorities (instance)
still unclassified (instance)
storing (instance)
timed invocation (instance)

instance creation (class)

new
Error---new instances of ProcessorScheduler should not be created.

top


basic (instance)

activeDebugger
Answer the active process' debugger

activePriority

Answer the active process' priority

activeProcess

Answer the active process

processEnvironment

Answer another singleton object hosting thread-local variables for the Smalltalk processes. This acts like a normal Dictionary with a couple of differences: a) using #associationAt: will return special associations that retrieve a thread-local value; b) requesting missing keys will return nil, and removing them will be a nop.

processesAt: aPriority

Answer a linked list of processes at the given priority

terminateActive

Terminate the active process

timeSlice

Answer the timeslice that is assigned to each Process before it is automatically preempted by the system (in milliseconds). An answer of zero means that preemptive multitasking is disabled. Note that the system by default is compiled without preemptive multitasking, and that even if it is enabled it will work only under BSD derivatives (or, in general, systems that support ITIMER_VIRTUAL).

timeSlice: milliSeconds

Set the timeslice that is assigned to each Process before it is automatically preempted by the system. Setting this to zero disables preemptive multitasking. Note that the system by default is compiled with preemptive multitasking disabled, and that even if it is enabled it will surely work only under BSD derivatives (or, in general, systems that support ITIMER_VIRTUAL).

yield

Let the active process yield control to other processes

top


built ins (instance)

disableInterrupts
Disable interrupts caused by external events while the current process is executing. Note that interrupts are disabled on a per-process basis, and that calling #disableInterrupts twice requires calling #enableInterrupts twice as well to re-enable interrupts.

enableInterrupts

Re-enable interrupts caused by external events while the current process is executing. By default, interrupts are enabled.

top


idle tasks (instance)

dispatchEvents
Private - Main body of the event loop.

idle

Private - Call the next idle task. Return whether GNU Smalltalk should pause until the next OS signal.

idleAdd: aBlock

Register aBlock to be executed when things are idle

initialize

Private - Start the finalization process.

pause: aBoolean

Private - Pause for some time if aBoolean is false, or until a signal if it is true.

startFinalizers

Private - Fire a low-priority process to finalize the objects

update: aSymbol

If we left some work behind when the image was saved, do it now.

top


printing (instance)

printOn: aStream
Store onto aStream a printed representation of the receiver

top


priorities (instance)

highIOPriority
Answer the priority for system high-priority I/O processes, such as a process handling input from a network.

highestPriority

Answer the highest valid priority

idlePriority

Answer the priority of idle processes.

lowIOPriority

Answer the priority for system low-priority I/O processes. Examples are the process handling input from the user (keyboard, pointing device, etc.) and the process distributing input from a network.

lowestPriority

Answer the lowest valid priority

priorityName: priority

Private - Answer a name for the given process priority

systemBackgroundPriority

Answer the priority for system background-priority processes. An incremental garbage collector could run at this level but now it runs at idlePriority instead.

timingPriority

Answer the priority for system real-time processes.

unpreemptedPriority

Answer the highest priority avilable in the system; never create a process with this priority, instead use BlockClosure>>#valueWithoutPreemption.

userBackgroundPriority

Answer the priority for user background-priority processes

userInterruptPriority

Answer the priority for user interrupt-priority processes. Processes run at this level will preempt the window scheduler and should, therefore, not consume the processor forever.

userSchedulingPriority

Answer the priority for user standard-priority processes

top


still unclassified (instance)

forkEventLoop
Not commented.

top


storing (instance)

storeOn: aStream
Store onto aStream a Smalltalk expression which evaluates to the receiver

top


timed invocation (instance)

isTimeoutProgrammed
Private - Answer whether there is a pending call to #signal:atMilliseconds:

signal: aSemaphore atNanosecondClockValue: ns

Private - signal 'aSemaphore' when the nanosecond clock reaches 'ns' nanoseconds.

signal: aSemaphore onInterrupt: anIntegerSignalNumber

Signal 'aSemaphore' when the given C signal occurs.

top