unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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



 siginterrupt(2)					     siginterrupt(2)




 NAME
      siginterrupt - allow signals to interrupt functions

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

      int siginterrupt(int sig, int flag);

 DESCRIPTION
      The siginterrupt() function is used to change the restart behaviour
      when a function is interrupted by the specified signal. The function
      siginterrupt(sig, flag) has an effect as if implemented as:

	   siginterrupt(int sig, int flag) {
		int ret;
		struct sigaction act;

		(void) sigaction(sig, NULL, &&amp&amp&amp;act);
		if (flag)
		     act.sa_flags &&amp&amp&amp;= ~SA_RESTART;
		else
		     act.sa_flags |= SA_RESTART;
		ret = sigaction(sig, &&amp&amp&amp;act, NULL);
		return ret;
	   }

 RETURN VALUE
      Upon successful completion, siginterrupt() returns 0. Otherwise -1 is
      returned and errno is set to indicate the error.

 ERRORS
      The siginterrupt() function will fail if:

	   [EINVAL]		    The sig argument is not a valid signal
				    number.

 APPLICATION USAGE
      The siginterrupt() function supports programs written to historical
      system interfaces. A portable application, when being written or
      rewritten, should use sigaction() with the SA_RESTART flag instead of
      siginterrupt().

    Threads Considerations
      System call restart is a process attribute.  Therefore, changing the
      restart behavior affects all threads in the process.

 SEE ALSO
      sigaction(2), <signal.h>.

 CHANGE HISTORY
      First released in Issue 4, Version 2.



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