---
name: "libssh2_session_set_blocking"
section: "3"
platform: "linux"
package: "libssh2"
version: "1.11.1-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libssh2_session_set_blocking"
---

# libssh2\_session\_set\_blocking(3)

set or clear blocking mode on session

## NAME

libssh2\_session\_set\_blocking - set or clear blocking mode on session

## SYNOPSIS

```
#include <libssh2.h>
void
libssh2_session_set_blocking(LIBSSH2_SESSION *session, int blocking);
```

## DESCRIPTION

*session* - session instance as returned by **[libssh2\_session\_init\_ex(3)](/libssh2_session_init_ex/3.md)**

*blocking* - Set to a non-zero value to make the channel block, or zero to make it non-blocking.

Set or clear blocking mode on the selected on the session. This will instantly affect any channels associated with this session. If a read is performed on a session with no data currently available, a blocking session will wait for data to arrive and return what it receives. A non-blocking session will return immediately with an empty buffer. If a write is performed on a session with no room for more data, a blocking session will wait for room. A non-blocking session will return immediately without writing anything.

## RETURN VALUE

None

## SEE ALSO

**[libssh2\_session\_init\_ex(3)](/libssh2_session_init_ex/3.md)**
