Nonblocking stdin on telnet
ianc at goanna.iinet.net.au
Wed Jul 7 01:23:46 UTC 2010
On 7/07/2010 7:13 AM, Andrei Chichak wrote:
> I am using 4.9.4 on a Coldfire 5282.
> I need to do a non-blocking read on stdin in my telnet process. I have
> done the following, but the getchar blocks.
We are using an older version of RTEMS with a custom telnet, pty driver
and shell, but when the telnet accepts the socket connection, you also
need to setup a timeout on the connected socket. We use this piece of
code to setup a timeout for the character read.
> Set the length of time socket reads take.
> int SetSocketTimeout(int connectSock, int milliseconds)
> struct timeval tv;
> tv.tv_sec = milliseconds / 1000 ;
> tv.tv_usec = ( milliseconds % 1000) * 1000 ;
> return setsockopt(connectSock, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof tv);
We currently set this to 500ms.
Goanna Technologies Pty Ltd
+61 8 9444 2634
More information about the users