dwww Home | Manual pages | Find package

CURLOPT_NOSIGNAL(3)         Library Functions Manual        CURLOPT_NOSIGNAL(3)

NAME
       CURLOPT_NOSIGNAL - skip all signal handling

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff);

DESCRIPTION
       If onoff is 1, libcurl uses no functions that install signal handlers or
       any  functions that cause signals to be sent to the process. This option
       is here to allow multi-threaded Unix applications to still  set/use  all
       timeout options etc, without risking getting signals.

       If  this option is set and libcurl has been built with the standard name
       resolver, timeouts cannot occur while the name resolve takes place. Con-
       sider building libcurl with the c-ares or threaded resolver backends  to
       enable  asynchronous  DNS  lookups, to enable timeouts for name resolves
       without the use of signals.

       Setting CURLOPT_NOSIGNAL(3) to 1 makes libcurl NOT ask the system to ig-
       nore SIGPIPE signals, which otherwise are sent by the system when trying
       to send data to a socket which is closed in the other end. libcurl makes
       an effort to never cause such SIGPIPE signals to trigger, but some oper-
       ating systems have no way to avoid them and  even  on  those  that  have
       there  are some corner cases when they may still happen, contrary to our
       desire.

DEFAULT
       0

PROTOCOLS
       This functionality affects all supported protocols

EXAMPLE
       int main(void)
       {
         CURL *curl = curl_easy_init();
         if(curl) {
           CURLcode res;
           curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");

           curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1L);

           res = curl_easy_perform(curl);

           curl_easy_cleanup(curl);
         }
       }

AVAILABILITY
       Added in curl 7.10

RETURN VALUE
       curl_easy_setopt(3) returns a CURLcode indicating success or error.

       CURLE_OK (0) means everything was OK, non-zero means an error  occurred,
       see libcurl-errors(3).

SEE ALSO
       CURLOPT_TIMEOUT(3)

libcurl                            2026-07-12               CURLOPT_NOSIGNAL(3)

Generated by dwww version 1.16 on Sat Oct 3 04:25:40 CEST 2026.