unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 sigsuspend(2)						       sigsuspend(2)




 NAME
      sigsuspend - wait for a signal

 SYNOPSIS
      #include <&lt&lt&lt;signal.h>&gt&gt&gt;

      int sigsuspend(const sigset_t *sigmask);

 DESCRIPTION
      The sigsuspend() function replaces the  process' current signal mask
      with the set of signals pointed to by sigmask and then suspends the
      process until delivery of a signal whose action is either to execute a
      signal-catching function or to terminate the process.

      If the action is to terminate the process then sigsuspend() will never
      return. If the action is to execute  a  signal-catching function, then
      sigsuspend() will	 return after the signal-catching function returns,
      with the signal mask restored to the set that existed prior to the
      sigsuspend() call.

      It is not possible to block signals that cannot be ignored. This is
      enforced by the system without causing an error to be indicated.

 RETURN VALUE
      Since sigsuspend() suspends process execution indefinitely, there is
      no successful completion return value. If a return occurs, -1 is
      returned and errno is set to indicate the error.

 ERRORS
      The sigsuspend() function will fail if:

	   [EINTR]		    A signal is caught by the calling
				    process and control is returned from the
				    signal-catching function.

 APPLICATION USAGE
    Threads Considerations
      Since blocked signal masks are maintained at the thread level,
      sigsuspend() modifies only the calling thread's blocked signal mask.
      sigsuspend() suspends only the calling thread until it receives a
      signal.

      If other threads in the process do not block the signal, the signal
      may be delivered to another thread in the process and the thread in
      sigsuspend() may continue waiting.  For this reason, the use of
      sigwait(2) is recommended instead of sigsuspend() for multi-threaded
      applications.

      For more information regarding signals and threads, refer to
      signal(5).




 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 sigsuspend(2)						       sigsuspend(2)




    LWP (Lightweight Processes) Considerations
      sigsuspend() modifies only the calling LWP's signal mask and suspends
      only the calling LWP until receipt of a signal.

 SEE ALSO
      pause(2), sigaction(2), sigsetops(3C), sigwait(2), <signal.h>.

 CHANGE HISTORY
      First released in Issue 3.

      Entry included for alignment with the POSIX.1-1988 standard.

 Issue 4
      The following change is incorporated  for	 alignment with the ISO
      POSIX-1 standard:

	   +  The type of the argument sigmask is changed from sigset_t* to
	      type const sigset_t*.

      Another change is incorporated as follows:

	   +  The term "signal handler" is changed to "signal-catching
	      function."




























				    - 2 -	  Formatted:  August 2, 2006









 sigsuspend(2)						       sigsuspend(2)




				 HP-UX EXTENSIONS



 ERRORS
	   [EFAULT]	  sigmask points to an invalid address.	 The
			  reliable detection of this error is
			  implementation-dependent.

 AUTHOR
      sigsuspend() was derived from the IEEE POSIX 1003.1-1988 Standard.

 SEE ALSO
      sigaction(2), sigpending(2), sigprocmask(2), sigsetops(3C), signal(5).

 STANDARDS CONFORMANCE
      sigsuspend(): AES, SVID3, XPG3, XPG4, FIPS 151-2, POSIX.1





































 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000