Chapter Contents |
Previous |
Next |
iucvsevr |
In using SAS/C IUCV functions, be aware of the following points:
signal
or
sigaction
function with the SIGIUCV signal as the first argument.
This is necessary to establish signal handling before an IUCV signal occurs.
You must do this before any IUCV function is called.
iucvset
creating an IUCV path must be matched with an eventual call
to
iucvclr
destroying the
path. If, at program termination (either by
return
or
exit
),
there are still IUCV paths that have not been destroyed via
iucvclr
, the library issues
iucvclr
calls for these paths. Invoking
iucvclr
also frees the space
allocated by
iucvset
for
queuing interrupts.
code
argument in the
iucvsevr
function is not
"ALL"
,
"ONE"
is assumed.
iucvset
is called. If there are times when you do not want to be interrupted,
use
sigblock
and
sigpause
.
sigpause
to wait for an IUCV
signal. The use of
sigblock
to block the SIGIUCV signal at other times is critical to these examples.
If you do not use
sigblock
(or
sigsetmask
) to block
IUCV signals, an expected signal may be discovered before the call to
sigpause
. In this event,
sigpause
causes the program to
wait for a second signal. Depending on the logic of the program, this can
cause it to wait for an indefinitely long period.
iucvset
.
iucvclr
or by program termination. The library
uses approximately 44 bytes per enqueued IUCV message. Queue storage is allocated
in 4K blocks. If the library cannot allocate a 4K block to extend the queue,
then a user ABEND 1228 is issued.
errno
variable. If,
during program termination, paths are cleared implicitly by the library and
an error occurs, an informatory NOTE is issued. However, the program cannot
be informed that an error has occurred.
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.