summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/spawn.cc3
-rw-r--r--winsup/cygwin/syscalls.cc7
3 files changed, 11 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 942059a03..628b57304 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+Mon Mar 12 09:47:55 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process
+ is not a cygwin process (suggested by Jason Gouger
+ <cygwin@jason-gouger.com>).
+
Sun Mar 11 16:00:58 2001 Christopher Faylor <cgf@cygnus.com>
* child_info.h: Bump magic number for fork/exec/spawn.
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index e9d3659b2..431923dae 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -774,7 +774,8 @@ skip_arg_parsing:
case WAIT_OBJECT_0 + 2:
if (mode == _P_OVERLAY)
{
- res |= EXIT_REPARENTING;
+ if (myself->ppid_handle)
+ res |= EXIT_REPARENTING;
if (!my_parent_is_alive ())
{
nwait = 1;
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index dbb55f321..134ad8c59 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -1004,16 +1004,15 @@ stat_dev (DWORD devn, int unit, unsigned long ino, struct stat *buf)
sigframe thisframe (mainthread);
switch (devn)
{
- case FH_CONOUT:
case FH_PIPEW:
buf->st_mode = STD_WBITS;
break;
- case FH_CONIN:
case FH_PIPER:
buf->st_mode = STD_RBITS;
break;
- default:
- buf->st_mode = STD_RBITS | S_IWUSR | S_IWGRP | S_IWOTH;
+ case FH_CONIN:
+ case FH_CONOUT:
+ buf->st_mode = STD_RBITS | STD_WBITS;
break;
}