Chapter Contents

Previous

Next
SIGIUCV

SIGIUCV



CMS Inter-User Communication


Default handling
Ignoring the signal
Information returned by siginfo
Notes on raising SIGIUCV
The 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.