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.
Sounds like we need to peek at rxvt to get some pointers on how to do this... or is it your impression that it is not really possible?
/* Disassociate any TTYs */ setsid();
The intent here is to prevent signals from propagating into the subprocess.
Okay.
Harold