Throughout change TTY_* to PTY_*, tty_* to pty_*, and ttym_* to ptmx_*.
* devices.cc: Regenerate. * dtable.cc: (fh_alloc): Preserve /dev/tty name when that's what we opened. (build_fh_pc): Preserve any existing name. * fhandler.cc (fhandler_base::open_with_arch): Ditto. * fhandler_tty.cc (fhandler_pty_master::fhandler_pty_master): Force the name to /dev/ptmx while preserving other pty master device information. * path.h (cfree_maybe): New macro. (path_conv::operator =): Free any allocated strings in target. (path_conv::free_strings): Delete unused function. * sigproc.cc (proc_terminate): Remove previous accommodation for execed processes since it didn't have the desired effect. Change comment to a FIXME. * spawn.cc (chExeced): Mark NO_COPY. (exe_suffixes): Ditto.
This commit is contained in:
@ -469,8 +469,19 @@ fhandler_base::open_with_arch (int flags, mode_t mode)
|
||||
}
|
||||
else
|
||||
{
|
||||
char *name;
|
||||
/* Preserve any name (like /dev/tty) derived from build_fh_pc. */
|
||||
if (!get_name ())
|
||||
name = NULL;
|
||||
else
|
||||
{
|
||||
name = (char *) alloca (strlen (get_name ()) + 1);
|
||||
strcpy (name, get_name ());
|
||||
}
|
||||
fhandler_base *arch = archetype;
|
||||
archetype->copyto (this);
|
||||
if (name)
|
||||
set_name (name);
|
||||
archetype = arch;
|
||||
archetype_usecount (1);
|
||||
usecount = 0;
|
||||
|
Reference in New Issue
Block a user