ons 2011-10-12 klockan 17:08 -0700 skrev Pavel Strashkin: > I don't want to open a new topic so i'll ask here.
Better to open a new topic when asing a new question. > libssh2 has 2 entities: session and channel, but only channel has > "eof" or "disconnected" states. I don't see something similar for > session. The question then is how could i know that session is closed > without creating a channel? Normally you always open a channel immediately after the session have been established. libssh2 currently do not support I/O activity on an idle session (i.e. between auth and initial channel request) in a clean manner. How to detect session close depends on where you are in the SSH sequence - Inital handshake, libssh2_session_handshake - auth, libssh2_userauth_... (method dependent) - channel, using channel I/O primitives or wrappers - closing, libssh2_session_disconnect which all returns errors if the transport socket got unexpectedly closed. > As i understand, when libssh2 does low-level reading (read or recv > call) on file handle, it doesn't store information about read/recv > returned zero bytes (connection closed) or errno value so such > information can't be used by libssh2 user. It stores it's own representation of these. The lowlevel transport details is if very little relevance to the user of libssh2. Regards Henrik _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel