3.3.19 U_DIE



Form calls the user edit routine with the type parameter equal to U_DIE when an interrupt signal (SIGINT) is received and the -k option was used to invoke form. An interrupt signal is received when the Ctrl-C or Ctrl-Break keys are pressed. All other parameters are NULL. When your user edit routine returns, form closes its files and exits, whether or not you return an error message.

When form receives a hang up signal, it first does a CANCEL operation and calls your user edit routine with U_CANCEL, then calls your user edit routine with U_DIE, and terminates. When your user edit routine receives a U_DIE, it should perform any processing necessary as quickly as possible; it should not wait for user input (sdebug(), for example) since the user's terminal has already disconnected.

U_DIE bypasses many of the consistency rules built into form. For example, in a sequence of three forms, the third form can be marked as a required form, so that if you update forms one and two, you must update and store form three. If form receives a hang up signal after you have stored the second form, but before you have updated the third (required) form, form calls your user edit routine with U_DIE and exits immediately without requiring you to update and store the third form.