CURLMOPT\_PIPELINING\_SITE\_BL(3) Library Functions Manual CURLMOPT\_PIPELINING\_SITE\_BL(3)

# [NAME](#NAME)

CURLMOPT\_PIPELINING\_SITE\_BL - pipelining host block list

# [SYNOPSIS](#SYNOPSIS)

```
#include <curl/curl.h>
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL,


                            char **hosts);
```

# [DESCRIPTION](#DESCRIPTION)

No function since pipelining was removed in 7.62.0.

Pass a **hosts** array of char \*, ending with a NULL entry. This is a list of sites that are blocked from pipelining, i.e sites that are known to not support HTTP pipelining. The array is copied by libcurl.

Pass a NULL pointer to clear the block list.

# [DEFAULT](#DEFAULT)

NULL, which means that there is no block list.

# [PROTOCOLS](#PROTOCOLS)

This functionality affects http only

# [EXAMPLE](#EXAMPLE)

```
static const char *site_block_list[] =
{


  "www.haxx.se",


  "www.example.com:1234",


  NULL
};
int main(void)
{


  CURLM *m = curl_multi_init();


  curl_multi_setopt(m, CURLMOPT_PIPELINING_SITE_BL, site_block_list);
}
```

# [AVAILABILITY](#AVAILABILITY)

Added in curl 7.30.0

# [RETURN VALUE](#RETURN_VALUE)

[*curl\_multi\_setopt(3)*](/man/os/curl/curl_multi_setopt.3) returns a CURLMcode indicating success or error.

CURLM\_OK (0) means everything was OK, non-zero means an error occurred, see [*libcurl-errors(3)*](/man/os/curl/libcurl-errors.3).

# [SEE ALSO](#SEE_ALSO)

[**CURLMOPT\_PIPELINING**(3)](/man/os/curl/CURLMOPT_PIPELINING.3), [**CURLMOPT\_PIPELINING\_SERVER\_BL**(3)](/man/os/curl/CURLMOPT_PIPELINING_SERVER_BL.3)

2026-10-19 libcurl

---

Document: CURLMOPT_PIPELINING_SITE_BL(3) from curl 8.23.0-r1 (Chainguard OS)
Source: https://github.com/curl/curl.git
