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/
|