[Info-vax] CREPRC MBXUNT (Handle Process Termination)
Craigers01 at gmail.com
Craigers01 at gmail.com
Mon Mar 9 14:47:35 EDT 2009
On Mar 9, 2:03 pm, IanMiller <g... at uk2.net> wrote:
> On Mar 9, 5:39 pm, Craiger... at gmail.com wrote:
>
>
>
> > I have some C code running on OpenMVS VAX 6.2. The code creates
> > subprocesses. I need to perform some clean up tasks when my sub
> > processes terminate. I wrote a function "processTermination", but I
> > can't seem to get it to fire when the sub process terminates. I can't
> > find any example code where anyone is actually doing this. My code is
> > C. Here are the relevant snippets. It runs without error, but the
> > "processTermination" function does not run. I appreciate any
> > assistance!
>
> > unsigned short int termMbx2;
>
> > /* Create Termination MBX */
> > status = sys$crembx (0, /* 0=temp, 1=perm */
> > &termMbx2,
> > 512, /* Max message size */
> > 512, /* Buffer space for messages */
> > prot,
> > PSL$C_USER,
> > 0,
> > 0,
> > 0);
> > if (!(status & STS$M_SUCCESS)) {
> > printf (" (sys_crembx) Error creating term MBX.\n") ;
> > show_error (status);
> > exit(1);
> > }
>
> > /* Set AST on Term MBX */
> > status = sys$qio(0, termMbx2, IO$_READVBLK,
> > &termBuf->iosb,
> > processTermination,
> > &termBuf,
> > 0, 0, 0, 0, 0, 0);
> > if (!(status & STS$M_SUCCESS)) {
> > printf (" (sys_qio) Error setting qio to Term MBX.\n") ;
> > show_error (status);
> > exit(1);
> > }
>
> > /* Create the Sub Process linked to the Term Mbx */
> > status = sys$creprc (&pid, &image_name_d, &command_proc_d,
> > &log_file, 0, 0, 0, &process_name_d, 0, 0, &termMbx2, 0,
> > 0);
> > if (!(status & STS$M_SUCCESS)) {
> > printf (" (sys_creprc) Error Creating Child process.\n") ;
> > show_error (status);
> > sys$exit(status);
> > } else {
> > printf (" Client Server PID : %08x\n\n",pid);
> > }
>
> $CREMBX returns a channel number but for $CREPRC you need a unit
> number, I usually feed the channel number to LIB$GETDVI to get the
> unit number.
Thanks a ton! I got it worked out.
Craig
More information about the Info-vax
mailing list