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
