DOS/Windows-specific code: inflow.c

Eli Zaretskii
2001-05-08T04:43:00Z

* inflow.c:new_tty()

#if !defined(__GO32__) && !defined(_WIN32)
#ifdef TIOCNOTTY
/* Disconnect the child process from our controlling terminal. On some
systems (SVR4 for example), this may cause a SIGTTOU, so temporarily
ignore SIGTTOU. */
tty = open ("/dev/tty", O_RDWR);
if (tty > 0)
{
void (*osigttou) ();

osigttou = (void (*)()) signal (SIGTTOU, SIG_IGN);
ioctl (tty, TIOCNOTTY, 0);
close (tty);
signal (SIGTTOU, osigttou);
}
#endif

/* Now open the specified new terminal. */

#ifdef USE_O_NOCTTY
tty = open (inferior_thisrun_terminal, O_RDWR | O_NOCTTY);
#else
tty = open (inferior_thisrun_terminal, O_RDWR);
#endif
if (tty == -1)
{
print_sys_errmsg (inferior_thisrun_terminal, errno);
_exit (1);
}

This code assumes too many Posix features. Should we define
NO_NEW_TTY?

* inflow.c: pass_signal() [and many more functions that call kill()]

/* ARGSUSED */
static void
pass_signal (int signo)
{
#ifndef _WIN32
kill (PIDGET (inferior_pid), SIGINT);
#endif
}

I don't really understand why does the Windows build need to ifdef
away the calls to kill. In any case, it sounds like providing a no-op
version in win32-nat.c would be a better idea.