Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
System Functions (s and S) sigsuspend(2)
Use From the Guardian Environment
If called from a TNS or accelerated Guardian process, the actions of this function are undefined
and errno is set to [ENOTOSS].
NOTES
To use the sigsuspend( ) functionality in a threaded application that uses the Standard POSIX
Threads library, see spt_sigsuspend(2).
To use this function in a threaded application that uses the POSIX User Thread Model library on
systems running H06.21 or later RVUs or J06.10 or later RVUs, you must perform all of the fol-
lowing tasks to make the function thread-aware in a multi-threaded application:
• Compile the application using the _PUT_MODEL_ feature test macro or equivalent
compiler command option.
• Link the application to the zputdll library (/G/system/zdllnnn/zputdll).
On systems running H06.24 or later H-series RVUs or J06.13 or later J-series RVUs, you can use
this function with 32-bit or 64-bit threaded applications.
To use this function in a 32-bit threaded application on systems running H06.24 or later RVUs or
J06.13 or later RVUs, perform the same tasks (described above) used to make the function
thread-aware in a multi-threaded application on systems running H06.21/J06.10 or later RVUs.
To use this function in a 64-bit threaded application on systems running H06.24 or later RVUs or
J06.13 or later RVUs, you must perform all of the following tasks to make the function thread-
aware in a multi-threaded application:
• Compile the application using the _PUT_MODEL_ feature test macro or equivalent
compiler command option.
• Compile the application using the -Wlp64 compiler command option.
• Link the application to the yputdll library (/G/system/zdllnnn/yputdll).
For detailed information about writing multi-threaded and 64-bit applications for the Open Sys-
tem Services environment, see the Open System Services Programmer’s Guide.
RETURN VALUES
If a signal is caught by the calling process and control is returned from the signal-catching func-
tion, the calling process resumes execution after the sigsuspend( ) function, which always returns
the value -1 and, after finishing normally, sets errno to [EINTR].
ERRORS
If any of the following conditions occur, the sigsuspend( ) function sets errno to the correspond-
ing value:
[EINTR] The sigsuspend( ) function was interrupted by a signal that was caught by the
calling process, and control was returned from the signal-catching function.
[ENOTOSS] The calling process was not an OSS process or a native Guardian process. This
function cannot be used in the Guardian environment by a TNS or accelerated
process.
If the signal_mask parameter points to an invalid location, the sigsuspend( ) function generates
an unspecified signal that cannot be blocked or ignored and sends the signal to the process.
527186-023 Hewlett-Packard Company 7−107