
Detectar o recebimento do sinal SIGUSR1 (kill -16) e executar uma PROCEDURE.
SET SIGUSR1 TO [<nome>]
|
<nome> |
representa o nome da PROCEDURE que será executada quando o programa receber sinal 16. Caso se omita o nome da PROCEDURE nada será executado. |
Permite que um operador (usuário), envie o sinal SIGUSR1 (sinal 16) para que o programa capture e execute um procedimento apropriado.
O programa onde foi declarado o comando SET SIGUSR1, captura este sinal e executa a PROCEDURE indicada. Para desabilitar a execução da PROCEDURE deve-se declarar este comando sem declarar o nome da PROCEDURE.
Este sinal é enviado ao programa pelo comando KILL do UNIX.
O exemplo a seguir mostra-nos como utilizar este comando para interromper um programa de modo que sejam desfeitas as transações pendentes.
PROG
SET SIGUSR1 TO fecha
* O programa ao receber sinal 16
* executará automaticamente a rotina fecha
...
...
LOCK
...
...
UNLOCK
...
QUIT
PROCEDURE fecha
SET SIGUSR1 TO && Desabilita comando SET SIGUSR1
UNDO && Desfaz as transações pendentes
UNLOCK && Desbloqueia o banco de dados
QUIT (1) && Encerra programa
