Your observations are correct. The Event Manager always returns the highest
priority event waiting in the queue. When using A/UX, even though it looks
like processing has stopped when you hold down the mouse button, it still is
continuing to give processor time to other processes. This is handled by the
A/UX scheduler process and falls outside the realm of the Finder shell.
The Event Manager priorities are defined as follows:
1) Activate (window becoming inactive is higher than window becoming active).
2) Mouse down, mouse up, key down, key up, disk inserted, network, device
driver, application defined (in that order).
3) Auto key.
4) Update (in front-to-back order of the windows).
5) Null.
To demonstrate this, you could use the small shell script that follows:
1) Start up this process.
2) Let it count up to 10.
3) Press and hold the mouse button. The screen stops updating. The log file
will continue to be updated (you will continue to hear the drive).
4) While still holding the mouse button down, press Control-C. Screen output
from the program should be halted from the time you first pressed the mouse
button down, somewhere around 10.
5) Open the log file (/tmp/junk.log). It shows that the file was being updated
even though the screen was not.
C Shell Script
--------------
#! /bin/csh
set counter = 1
while (1)
echo "The counter value is " $counter | tee -a /tmp/junk.log
@ counter++
end
exit 0