[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] PATCH [xenconsoled]: makes pty slave raw early



On Wed, Jan 16, 2008 at 06:30:04AM +0100, tgingold@xxxxxxx wrote:

> diff -r ca2828a46217 -r 0353ead264ba tools/console/daemon/io.c
> --- a/tools/console/daemon/io.c       Wed Jan 16 06:21:50 2008 +0100
> +++ b/tools/console/daemon/io.c       Wed Jan 16 06:25:43 2008 +0100
> @@ -278,8 +278,10 @@ static int openpty(int *amaster, int *as
>       if (winp)
>               ioctl(sfd, TIOCSWINSZ, winp);
>  
> +     if (termp)
> +             tcsetattr(sfd, TCSAFLUSH, termp);
> +

This is wrong. openpty() only retrieves term settings, not sets it. You
must do the cfmakeraw after openpty().

Also, if you're re-introducing cfmakeraw() call, you need to include
this:

#ifdef  __sun__
void cfmakeraw (struct termios *termios_p)
{
        termios_p->c_iflag &=
            ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
        termios_p->c_oflag &= ~OPOST;
        termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
        termios_p->c_cflag &= ~(CSIZE|PARENB);
        termios_p->c_cflag |= CS8;

        termios_p->c_cc[VMIN] = 0;
        termios_p->c_cc[VTIME] = 0;
}
#endif


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.