logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       The  siginterrupt()  function  supports  programs  written to historical system interfaces.  Applications
       should use the sigaction() with the SA_RESTART flag instead of the obsolescent siginterrupt() function.

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;
           }

Errors

       The siginterrupt() function shall fail if:

       EINVAL The sig argument is not a valid signal number.

       Thefollowingsectionsareinformative.

Examples

       None.

Future Directions

       None.

Name

       siginterrupt — allow signals to interrupt functions

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       None.

Return Value

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

See Also

Section2.4, SignalConcepts, sigaction()

       The Base Definitions volume of POSIX.1‐2017, <signal.h>

Synopsis

       #include <signal.h>

       int siginterrupt(int sig, int flag);

See Also