Chapter Contents |
Previous |
Next |
SIGIUCV |
Default handling | |
Ignoring the signal | |
Information returned by siginfo | |
Notes on raising SIGIUCV |
SIGIUCV
signal is raised as a result of communication
between two VM users. The
SIGIUCV
signal
can be generated only for programs that have used the
iucvset
function to initialize communication.
SIGIUCV
is an asynchronous
signal. For this reason, a handler for
SIGIUCV
can only be invoked when a function is called or returns, or when
sigchk
is used.
Default handling |
By default,
SIGIUCV
causes the program to abnormally terminate with a user ABEND
code of 1225. For this reason, you must have a
SIGIUCV
handler defined at all times that a signal can be discovered,
if your program uses
SIGIUCV
.
Ignoring the signal |
The
SIGIUCV
signal cannot be ignored. If you code
SIG_IGN
as the second argument to
signal
and an IUCV signal is received, the program
terminates, as described
in the SIGUCV
section, Default handling.
Information returned by siginfo |
If you call
siginfo
in a handler for
SIGIUCV
,
it returns a pointer to a structure of one of several types, depending on
the particular interrupt. This structure contains information about the communication
that caused the signal. For example, if the signal indicates that a message
has been sent by another user, you can call the
iucvrecv
function to obtain the message text. Refer to Chapter 5,
"Inter-User Communications Vehicle (IUCV) Functions," in
SAS/C Library Reference, Volume 2 for more
information on what is returned by
siginfo
.
Notes on raising SIGIUCV |
Use of
raise
or
siggen
with
SIGIUCV
has no effect on the status of any pending signals. Signals
generated with
raise
are always synchronous;
that is, they are never delayed, even if blocked, so an artificially generated
SIGIUCV
signal may be handled before any pending
real
SIGIUCV
signals.
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.