![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I am attempting to delete mailboxes I have created. I use the following code in my attempt: char cmdmbxnam[]="CMD_MBX"; char rspmbxnam[]="RSP_MBX"; int status; short mbxchan; $DESCRIPTOR(cmdmbxnamdsc,cmdmbxnam); $DESCRIPTOR(rspmbxnamdsc,rspmbxnam); status = sys$assign(&cmdmbxnamdsc,&mbxchan,0,0); if ( status ) { printf("CMD Mailbox assgnd! Channel = %d. Status = %d.\n",mbxchan,status); status = sys$delmbx( mbxchan ); if ( status ) printf("CMD Mailbox deleted! Status = %d\n",status); } status = sys$assign(&rspmbxnamdsc,&mbxchan,0,0); if ( status ) { printf("RSP Mailbox assgnd! Channel = %d. Status = %d.\n",mbxchan,status); status = sys$delmbx( mbxchan ); if ( status ) printf("RSP Mailbox deleted! Status = %d\n",status); When I run this code, I get: OPER> run really_delete_mbx CMD Mailbox assgnd! Channel = 192. Status = 1. CMD Mailbox deleted! Status = 1 RSP Mailbox assgnd! Channel = 208. Status = 1. RSP Mailbox deleted! Status = 1 Yet if I display the logical name, CMD_MBX, or the associated MBX device, MBA1844, they are still there: OPER> sho log cmd_mbx "CMD_MBX" = "MBA1844:" (LNM$SYSTEM_TABLE) OPER> sho dev mba1844 Device Device Error Name Status Count MBA1844: Online 0 What am I doing wrong? By the way, the command prompt is "OPER>" because at our site that is what happens when you set process privileges "SYSNAM" and "PRMMBX". Thanks, Ron The Answer is : From the OpenVMS System Services Reference Manual: "The Delete Mailbox service marks a permanent mailbox for deletion. The actual deletion of the mailbox and of its associated logical name assignment occurs when no more I/O channels are assigned to the mailbox." For a temporary mailbox, the mailbox will be automatically deleted when the last channel to it is is deassigned. (For this reason, the OpenVMS Wizard tends to prefer temporary mailboxes -- programs that are using temporary mailboxes need not explicitly execute clean-up code, and these programs also need not contend with any messages left in the (permanent) mailbox on program (re)start.) Also please see topics here in Ask The Wizard such as (5045) and (1661), and please the MBXDEMO* files found in the OpenVMS Freeware V4.0 directory SRH_EXAMPLES.
|