libssh2_channel_free man page
libssh2_channel_free — free all resources associated with a channel
int libssh2_channel_free(LIBSSH2_CHANNEL *channel);
channel - Channel stream to free.
Release all resources associated with a channel stream. If the channel has not yet been closed with libssh2_channel_close(3) , it will be called automatically so that the remote end may know that it can safely free its own resources.
Return 0 on success or negative on failure. It returns LIBSSH2_ERROR_EAGAIN when it would otherwise block. While LIBSSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per se.