| 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 16: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.
| |||||