I have a board which has a fax/modem connected to the RS-232 serial port. I
have tried mgetty+fax and efax-0.9. Both applications want some kind
of non-blocking IO on the serial port.
If I enable non-blocking io, the serial port does not always return with
any data...
Anybody else ever see this or have any idea why?
For a quick example, below is a snippet from efaxos.c
This code never returns.
Any ideas.
Thanks,
-Mike
int tdata ( TFILE *f, int t)
{
fd_set fds ;
struct timeval timeout ;
if ( f->fd < 0 ) msg ( "Ecan't happen (faxdata)" ) ;
timeout.tv_sec = t / 10 ;
timeout.tv_usec = ( t % 10 ) * 100000 ;
FD_ZERO ( &fds ) ;
FD_SET ( f->fd, &fds ) ;
do {
n = select ( f->fd + 1, &fds, 0, 0, t<0 ? 0 : &timeout ) ;
if ( n < 0 ) {
if ( errno == EINTR ) {
msg ( "W0 select() interrupted in tdata()" ) ;
} else {
err = msg ( "ES2 select() failed in tdata():" ) ;
}
}
} while ( n < 0 && ! err ) ;
return n ;
}
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox