libssh2\_session\_set\_blocking(3) libssh2 libssh2\_session\_set\_blocking(3)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

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

# [DESCRIPTION](#DESCRIPTION)

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

*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](#RETURN_VALUE)

None

# [SEE ALSO](#SEE_ALSO)

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

1 Jun 2007 libssh2 0.15

---

Document: libssh2_session_set_blocking(3) from libssh2 1.11.1-r10 (Chainguard OS)
Source: https://github.com/libssh2/libssh2.git
