BTDT!
My bet is that things will start to happen if you read one character at a time
e.g. read(fd,buffer,1)
--- In "Mike Jubes" <> wrote:
>
>
> Considering the recent posts on COM2 processing, I am having an odd problem
> when setting VIM and VTIME on the tc attributes structure.
>
> I find that on a read() I can get the call to block, or not block at all. But
> I can't get it to time out.
>
> e.g.
>
> If I set:
> newtio.c_cc[VMIN] = N;
> newtio.c_cc[VTIME] = 0;
> Read will block until N characters are received, this is as expected.
>
> However, if I set:
> newtio.c_cc[VMIN] = N;
> newtio.c_cc[VTIME] = M;
>
> Read will still block until N characters are received, but the timeout (m/10
> seconds) never happens (even when at least one characters are received) This
> is not expected behaviour.
>
> Similarly, if I set:
> newtio.c_cc[VMIN] = 0;
> newtio.c_cc[VTIME] = M;
>
> Read() returns non-blocking with no data (This is not expected behaviour, the
> call should block and return after M/10 seconds)
>
> Any ideas?
>
>
> Oddly enough, I have tried the above on the console COM1 (STDIN) and it
> works, i.e. I can get the timeouts on input to work properly!
>
> PS I have modified /etc/inittab so that COM2 is not enabled as a console.
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|