This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: MultiWindow Mode: stty speed = 0 on xterm cause rlogin to fail


On Wed, 25 Feb 2004, Harold L Hunt II wrote:

> This issue has to have something to do with the way that commands are
> launched from the .XWinrc menu, since launching an xterm from another
> xterm works just fine.  Here is the code that launches commands
> specified in the .XWinrc menus:
>
> case CMD_EXEC:
> if (fork()==0)
> {
>    struct rlimit rl;
>    unsigned long i;
>
>    /* Close any open descriptors except for STD* */
>    getrlimit (RLIMIT_NOFILE, &rl);
>    for (i = STDERR_FILENO+1; i < rl.rlim_cur; i++)
>      close(i);

If the stdin for the menu process isn't a tty, the inherited stdin for
xterm still won't be a tty.  Some stty settings can be set for non-tty's,
and some cannot.  Usually the differences between xterm and rxvt in this
area are related to whether there is a real /dev/tty associated with the
process.

>    /* Disassociate any TTYs */
>    setsid();

The intent here is to prevent signals from propagating into the
subprocess.

>
>    execl ("/bin/sh",
> 	 "/bin/sh",
> 	 "-c",
> 	 m->menuItem[j].param,
> 	 NULL);
>    exit (0);
> }
>
> I'm looking into it a little bit, but I think that others could shed
> some light on this.
>
> Harold
>

-- 
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]