Title: | DECmcc user notes file. Does not replace IPMT. |
Notice: | Use IPMT for problems. Newsletter location in note 6187 |
Moderator: | TAEC::BEROUD |
Created: | Mon Aug 21 1989 |
Last Modified: | Wed Jun 04 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 6497 |
Total number of notes: | 27359 |
I'm developing a program that uses the DECmcc call interface: It uses: o DECmcc Common Routines: - mcc_ilv_..., mcc_time_..., etc. o DECmcc mcc_call_access(...): - access to the translan Access Module to get counter-values for translan bridges. My program is linked with the DECmcc shareable image as described in the MM-programming manual. My code (VAX-C) uses the VAXCRTL-routine signal() to install a routine that will be excecuted on receipt of a signal (for example the signal SIGINT - VMS CTRL/C Interrupt or the signal SIGILL - Illegal Instruction). When during the excecution of my program a signal SIGILL is generated (for example by calling the VAXCRTL-routine gsignal() ) the signal handler is called and executed. But ::: When I press CTRL-C during the execution of my program (the signal SIGINT should be generated) the signal handler is not called. My program is terminated and the screen displays the message: %MCC-E-ABORTCTRLY, image aborted by Ctrl\y I thought that the MCC Common Routines returned a cvr MCC_S_CANCELLED or MCC_S_ALERT_TERMREQ when CTRL/C is pressed during excecution of it. But this seems not to be true: It terminates the execution of my program and displays the above message. I understand that my program runs as a thread in the DECmcc environment but i don't understand how CTRL-C is passed to my routine and how I can catch CTRL-C to execute a few clean-up before terminating my program. Can someone explain. Regards, Paul
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
5142.1 | mcc_cc_req_alert_if_ctrl_c | CHEEKO::DITMARS | Pete | Fri Jun 11 1993 17:59 | 5 |
^C does not, by itself, cause an alert to be delivered to the currently running thread. I'm not sure if the routine is documented, but there is an MCC kernel service mcc_cc_req_alert_if_ctrl_c() which sets up a ctrl-c handler which will, when ^C is pressed, send an alert to any thread that called this routine. The routine takes no arguments. |