[Info-vax] SYS$CREPRC output to file but its overriding and not appending
Lawrence D’Oliveiro
lawrencedo99 at gmail.com
Fri Nov 5 20:45:43 EDT 2021
On Saturday, November 6, 2021 at 7:36:17 AM UTC+13, Simon Clubley wrote:
> sys$creprc() itself runs in the context of the parent process.
There is only the bare minimum EXE$CREPRC can do there. Remember that open files are accessed through I/O channels, which are indexes into the CCB array. Which lives in P1 space. Which, for the new process, doesn’t exist yet.
Reference: Chapter 25, “Process Creation”, of the latest version of the IDSM I can find <http://bitsavers.trailing-edge.com/pdf/dec/vax/vms/training/EY-C171E-DP_VMS_Internals_and_Data_Structures_5.2_1991.pdf>. The bulk of process setup happens in the context of the new process itself, in EXE$PROCSTRT. You will notice that there is no mention of it actually opening any files (apart from the image being activated, of course).
SYS$INPUT, SYS$OUTPUT and SYS$ERROR are predefined, but a program still needs to open them before it can use them.
More information about the Info-vax
mailing list