* fhandler.cc (fhandler_disk_file::fstat): Don't rely on exactly 3 characters

being read for executable test since we could be checking for less than that.
* syscalls.cc (stat_worker): Try opening the file the "correct" way first so
that #! processing can potentially happen.  If that fails, then use "query
open" method.
* spawn.cc (spawn_guts): Delay processing of signal until after we've notified
parent about reparenting.
This commit is contained in:
Christopher Faylor
2001-06-26 21:03:08 +00:00
parent 32c3034969
commit 07c3cd5bb1
4 changed files with 28 additions and 5 deletions

View File

@ -743,6 +743,7 @@ skip_arg_parsing:
HANDLE waitbuf[3] = {pi.hProcess, signal_arrived, spr};
int nwait = 3;
bool saw_signal = 0;
res = 0;
exited = FALSE;
@ -761,8 +762,8 @@ skip_arg_parsing:
break;
case WAIT_OBJECT_0 + 1:
sigproc_printf ("signal arrived");
// reset_signal_arrived ();
thisframe.call_signal_handler ();
reset_signal_arrived ();
saw_signal = 1;
continue;
case WAIT_OBJECT_0 + 2:
if (mode == _P_OVERLAY)
@ -820,6 +821,9 @@ skip_arg_parsing:
}
}
if (saw_signal && mode != _P_OVERLAY)
thisframe.call_signal_handler ();
MALLOC_CHECK;
switch (mode)