diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2011-01-15 22:43:58 +0100 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2011-01-15 22:43:58 +0100 |
commit | b945cbca52a39e48c8d40503134c3f0ce77e26d9 (patch) | |
tree | e0131bf498953a6c7ea9ff487dcb015fc428150a /src/socket.c | |
parent | f8361d324ea44187665fccf9f7f762d023686474 (diff) | |
download | libssh-b945cbca52a39e48c8d40503134c3f0ce77e26d9.tar.gz libssh-b945cbca52a39e48c8d40503134c3f0ce77e26d9.tar.xz libssh-b945cbca52a39e48c8d40503134c3f0ce77e26d9.zip |
Fix double-connect testcase
Diffstat (limited to 'src/socket.c')
-rw-r--r-- | src/socket.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/socket.c b/src/socket.c index 5553d49..2404a2e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -159,6 +159,25 @@ ssh_socket ssh_socket_new(ssh_session session) { /** * @internal + * @brief Reset the state of a socket so it looks brand-new + * @param[in] s socket to rest + */ +void ssh_socket_reset(ssh_socket s){ + s->fd_in = SSH_INVALID_SOCKET; + s->fd_out= SSH_INVALID_SOCKET; + s->last_errno = -1; + s->fd_is_socket = 1; + buffer_reinit(s->in_buffer); + buffer_reinit(s->out_buffer); + s->read_wontblock = 0; + s->write_wontblock = 0; + s->data_except = 0; + s->poll_in=s->poll_out=NULL; + s->state=SSH_SOCKET_NONE; +} + +/** + * @internal * @brief the socket callbacks, i.e. callbacks to be called * upon a socket event. * @param s socket to set callbacks on. |