This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


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

DOS/Windows-specific code: inflow.c



    * 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.


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