The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> siginterrupt - allow signals to interrupt functions

#### SYNOPSIS

> ``[XSI] #include <signal.h>
> int siginterrupt(int` sig`, int` flag`);``
> `
> `

#### DESCRIPTION

> The siginterrupt() function shall change the restart behavior when a function is interrupted by the specified signal. The function siginterrupt(sig, flag) has an effect as if implemented as:

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

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

#### RETURN VALUE

> Upon successful completion, siginterrupt() shall return 0; otherwise, -1 shall be returned and errno set to indicate the error.

#### ERRORS

> The siginterrupt() function shall fail if:

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

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

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

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> Signal Concepts, sigaction(), the Base Definitions volume of IEEE Std 1003.1-2001, <signal.h>

#### CHANGE HISTORY

> First released in Issue 4, Version 2.

#### Issue 5

> Moved from X/OPEN UNIX extension to BASE.

#### Issue 6

> IEEE Std 1003.1-2001/Cor 1-2002, item XSH/TC1/D6/59 is applied, correcting the declaration in the sample implementation given in the DESCRIPTION.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]