Dear User Group: The version of the PPPD that comes with the 2.24.27 version of UC Linux seems to have the following problem when used with 2.4.x kernel. (i.e. I am using the MC5249C3 development board.)
If PPPD is run manually--for instance from a Sash shell, it seems to detach from the controlling terminal correctly, and correctly associate and configure stdin and stdout with a tty--such as /dev/ttyS1. This makes all the tty configuration automatic when PPPD spawns CHAT. However, if PPPD is run from a program--after a successful vfork() and exec(), it seems to unable to completely reconfigure a tty which was previously configured by the parent program. I believe the root problem is that PPPD does not reconfigure stdout correctly. What I observed is when CHAT writes characters to stdout--which is already associated with a tty, write() often fails with EAGAIN which the CHAT code doesn't handle correctly. This suggests CHAT assumes stdout is in blocking mode. The assumption is safe if PPPD has preconfigured stdout correctly. The device being used by PPPD is /dev/ttyS1 which is closed at the time PPPD is spawned. However, the parent program had it open in raw non-blocking mode before that. Also, the parent program does not change the default attributes of stdin or stdout. Finally, this problem does not occur when the same software is used on a Debian Linux system. Best Regards, Paul R. -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: [EMAIL PROTECTED] _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
