Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Yano <takashi.yano@nifty.ne.jp>2021-12-12 15:26:57 +0300
committerTakashi Yano <takashi.yano@nifty.ne.jp>2021-12-12 15:46:37 +0300
commitf3d719c694f824fcec99ebbe88de8a5fa0a25a71 (patch)
tree06bdfaaa763d2da660732ec28201012b774fc878
parentd593c3e17ea1c614ddf37ff61e6d382d81a343d7 (diff)
Cygwin: console: Fix console mode of non-cygwin apps in background.
- If the non-cygwin app is started in the background in console, the console mode is broken for the app. This patch fixes the issue.
-rw-r--r--winsup/cygwin/spawn.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index e160fa3bb..bea4d0194 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -631,11 +631,14 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
cons_ti = &((tty *)cons->tc ())->ti;
cons_owner = cons->get_owner ();
}
+ tty::cons_mode conmode =
+ (ctty_pgid && ctty_pgid == myself->pgid) ?
+ tty::native : tty::restore;
if (fd == 0)
- fhandler_console::set_input_mode (tty::native,
+ fhandler_console::set_input_mode (conmode,
cons_ti, cons->get_handle_set ());
else if (fd == 1 || fd == 2)
- fhandler_console::set_output_mode (tty::native,
+ fhandler_console::set_output_mode (conmode,
cons_ti, cons->get_handle_set ());
}
}