Actually, "close" should not be normally initiated by client side, only under some really unbelievable circumstances. I didn't know how it works so i had used it for "stop process" activity, but now i clearly understand that i should use signals for my case. I'm on my way in an integration of "signal" channel's message.
2011/10/14 Pavel Strashkin <pavel.strash...@gmail.com>: > OK, after really long investigation i've found the reason why it > hangs. Now i'm not sure either client or server is the reason of that. > The following stuff is happening. When "close" is received by server, > it closes pipes (stdout, ...) connected to the program and waits for > program termination. When pipe closed from one side, other side will > get SIGPIPE signal when attempting to write, but...before each write > it waits for [interval] seconds so that's why it hangs for the same > time. I'm talking about iostat, mpstat. I think it should be > documented very clearly in libssh2 docs for further users. The same > happens for "eof" request. > > 2011/10/14 Henrik Nordström <hen...@henriknordstrom.net>: >> fre 2011-10-14 klockan 10:06 -0700 skrev Pavel Strashkin: >> >>> The "terminate" word has the only meaning so i think it's a bug that >>> libssh2 waits for next channel data after user has called >>> libssh2_channel_close. The waiting period depends on how often the >>> program uses stdout/stderr. >> >> It need to wait for the remote to respond to the close request, but that >> should be pretty much immediately. >> >> Regards >> Henrik >> >> _______________________________________________ >> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel >> > _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel