[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: timeout in ssh_channel_accept
[Thread Prev] | [Thread Next]
- Subject: Re: timeout in ssh_channel_accept
- From: Andreas Schneider <asn@xxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Mon, 22 Nov 2010 10:57:50 +0100
- To: libssh@xxxxxxxxxx
On Thursday, November 18, 2010 12:21:32 you wrote: > Hello libssh developers, Hi, I'm back in action in mid December. I hope Aris has time to do the review. -- andreas > I have found a code in channels.c, function > > static ssh_channel ssh_channel_accept(ssh_session session, int channeltype, > int timeout_ms) > > > > for (t = timeout_ms; t >= 0; t -= 50) > { > > ................... > > #ifdef _WIN32 > Sleep(50); /* 50ms */ > #else > nanosleep(&ts, NULL); > #endif > } > > > > it make this function to sleep 50ms even if timeout_ms is 0. > > f.e, I want to develop application which open reverse tunnel: > > loop > { > > ssh_channel newChan=channel_forward_accept(my_ssh_session,0); > if(newChan) > { > newSocket= connect to server > } > > ssh_select( ...... ) > } > > In this case I calling function "channel_forward_accept" with timeout=0. > I don't want this function to block execution of my thread. As result if > I starting scp process over this tunnel, it is many times slower as scp > over tunnel opened with "ssh -R". I attached a tiny patch, that make > ssh_channel_accept not to wait 50 ms if timeout_ms is 0. Can you please > accept it? With this patch my reverse tunnel created with libssh is as > fast as tunnel created with "ssh -R". > > regards, > alex
timeout in ssh_channel_accept | Oleksandr Shneyder <oleksandr.shneyder@xxxxxxxxxxxxxxxxx> |