Per Witte wrote:

> How detailed do you want it?
>
> When the Open call is entered the system is in SV mode.
> The job making the call is the current job
> The current job's ID is known
> Current job is known to be alive and is not removable during the
> call
> Find its JCB entry
> Find its SP and increment it by four
> Put its PC into the location pointed to by its SP (top of its User
> Stack)
> Put the initialisation code's address in its PC

I think you'll find that the JCB is only updated when a task switch
occurs...

When a TRAP#n is executed, the PC and SP are saved on the
supervisor stack, hence WL's earlier comment...

> Now I can forsee there might be a problem if the calling job is in
> SV mode when it makes the Open call, as it would first have to exit
> SV mode before it could set up jobs, open channels and things, but
> it must sooner or later exit that mode, and the execution will
> procede as described.

This is wrong, for the above reason.

John

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to