[Info-vax] Pointless Nostalgia: System Service Dispatching
Michael Moroney
moroney at world.std.spaamtrap.com
Thu Jun 30 12:53:17 EDT 2016
Johnny Billquist <bqt at softjar.se> writes:
>On 2016-06-30 01:05, lawrencedo99 at gmail.com wrote:
>> On Wednesday, June 29, 2016 at 11:36:10 PM UTC+12, Johnny Billquist wrote:
>>> Consider a $QIOW for example. If you get an AST, you do not want the $QIOW
>>> to be reexecuted.
>>
>> That's not a problem, because there is no actual $QIOW system call.
>There isn't? Did I place the $ on the wrong side or something now? Or
>what are you suggesting?
$QIOW (and most $xxxW services which also have a corresponding $xxx service)
are implemented as a $QIO followed immediately by a $SYNCH of the specified
event flag/IOSB pair. I believe there is a stub routine that makes both
calls.
I believe only $HIBER can potentially be re-executed. It does (at least on
VAX) some funky stack manipulation to place a call to the internal routine
back on the stack rather than the following instruction. The called
routine determines whether to actually hibernate based on internal states.
More information about the Info-vax
mailing list