newlib/winsup/cygwin
Christopher Faylor 54dd79bb44 * sigproc.cc (mychild): Reimplement as list scan.
(proc_subproc): Don't mess with pinfo if it's myself.
* child_info.h (child_info_types): Label enum for _PROC constants.
(child_info::child_info): New constructor.
(child_info::~child_info): New destructor.
(child_info::sync): Declare new function.
(child_info_fork::child_info_fork): New constructor.
(child_info_spawn::child_info_spawn): Remove old constructor.
(child_info_spawn::child_info_spawn): New constructor.
* dcrt0.cc (dll_crt0_0): Use correct sizeof when doing sanity check on passed
in child_info.  Signal readiness to parent when not forking (and not spawning).
* fork.cc (sync_with_child): Delete.
(resume_child): Remove extra argument.
(sync_with_parent): Use child_info method to sync with parent.
(fork_child): Don't close fork_info->subproc_ready since that is now handled by
the destructor.
(fork_parent): Remove subproc_ready stuff.  Use child_info sync method for
waiting..  Set start time here for child.  Rename "forked" to "child".
(fork): Check ch.subproc_ready for validity here.
* pinfo.h (_pinfo::exec_sendsig): Temp storage for exec stub which may be
staying around to handle non-cygwin captive process.
(_pinfo::exec_dwProcessId): Ditto.
(_pinfo::_lock): Renamed from lock.
(_pinfo::lock): New method.
(_pinfo::unlock): Ditto.
(_pinfo::initialize_lock): Ditto.
* pinfo.cc (set_myself): Use initialize_lock method to initialize myself lock.
Set "exec" fields in _pinfo to zero to indicate that we've started
successfully.  Set start time here when appropriate.
(_pinfo::commune_send): Use pinfo lock/unlock methods.
(proc_waiter): Remove special case for non-cywin processes.  Reinstitute
handling for PID_NOCLDSTOP.
* sigproc.cc (proc_subproc): Set proper EAGAIN errno when process table is
filled.
(sig_send): Use exec_* fields from _pinfo for sending signals if the the _pinfo
sendsig never materializes.
(child_info::child_info): New constructor, renamed from init_child_info.
Zeroes child_info structure and sets appropriate fields in structure based on
chtype.
(child_info::~child_info): New destructor.  Closes subproc_ready if it exists.
(child_info_fork::child_info_fork): New constructor.
(child_info_spawn::child_info_spawn): New constructor.
(child_info::ready): New function.  Signals parent when child is ready.
(child_info::sync): New function.  Wait for child to signal us or process to
die.
(remove_proc): Remove closing of hProcess since this should now be handled
shortly after process creation.
* spawn.cc (spawn_guts): Use child_info_spawn constructor rather than
init_child_info.  Save exec_sendsig and exec_dwProcessId in execing _pinfo.
Rely on child_info constructor to properly set parent_wr_proc_pipe in ciresrv.
Revert to previous determination on whether to start a process in suspended
mode.  Remove reparenting stuff.  Just keep a stub around if starting a
non-cygwin process.
2004-12-05 19:41:26 +00:00
..
config/i386 * gendef (stabilize_sig_stack): New function. 2004-02-18 20:48:38 +00:00
include * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
lib * lib/_cygwin_crt0_common.cc: Revert patch from 2004-09-16. Brakes 2004-09-27 16:30:44 +00:00
libc * Makefile.in: Create libutil.a from bsdlib.o exports. 2004-09-10 08:30:51 +00:00
regex
regexp
acconfig.h * exceptions.cc (set_signal_mask): Redefine to not pass by address. Report 2003-12-23 16:26:31 +00:00
ansi.sgml minor cleanup 2004-12-05 02:30:20 +00:00
assert.cc
autoload.cc * autoload.cc (EnumProcessModules): Add. 2004-09-14 08:29:12 +00:00
automode.c
binmode.c
ChangeLog * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
ChangeLog-1995
ChangeLog-1996
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003 fix typo 2004-01-20 03:11:39 +00:00
child_info.h * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
config.h.in * exceptions.cc (set_signal_mask): Redefine to not pass by address. Report 2003-12-23 16:26:31 +00:00
configure * configure.in: Remove NEWVFORK default. 2004-01-23 23:05:33 +00:00
configure.in * configure.in: Remove NEWVFORK default. 2004-01-23 23:05:33 +00:00
cpuid.h * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
crt0.c * crt0.o (mainCRTStartup): 16 byte align stack for main function. 2004-05-04 14:46:25 +00:00
cxx.cc
cygerrno.h * cygerrno.h (set_errno): Replace semicolon with comma in non-DEBUGGING 2004-02-02 10:47:29 +00:00
cygheap.cc * spawn.cc (find_exec): Use has_slash to determine if path has a slash rather 2004-06-02 21:20:54 +00:00
cygheap.h * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
cygmagic
cygmalloc.h * debug.h (console_printf): Define for non-debugging condition. 2004-02-09 04:04:24 +00:00
cygserver_ipc.h * debug.h (console_printf): Define for non-debugging condition. 2004-02-09 04:04:24 +00:00
cygserver_msg.h * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
cygserver_sem.h * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
cygserver_shm.h
cygserver.h * cygserver.h (CYGWIN_SERVER_VERSION_API): Bump. 2004-06-03 19:52:12 +00:00
cygthread.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
cygthread.h * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
cygtls.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
cygtls.h * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
CYGWIN_LICENSE
cygwin_version.h
cygwin-shilka
cygwin.din * cygwin.din (_impure_ptr): And export again. There are libs out there. 2004-09-17 08:34:31 +00:00
cygwin.sc
dcrt0.cc * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
debug.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
debug.h * debug.h (console_printf): Define for non-debugging condition. 2004-02-09 04:04:24 +00:00
delqueue.cc
devices.cc * syscalls.cc (truncate64): Don't second-guess errno if open fails. 2004-12-01 15:00:40 +00:00
devices.h
devices.in * syscalls.cc (truncate64): Don't second-guess errno if open fails. 2004-12-01 15:00:40 +00:00
dir.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
dlfcn.cc * autoload.cc (EnumProcessModules): Add. 2004-09-14 08:29:12 +00:00
dll_init.cc * Makefile.in (clean): Remove sigfe.s. 2004-02-13 19:34:32 +00:00
dll_init.h
dll_init.sgml 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com> 2004-02-22 23:21:20 +00:00
dlmalloc.c remove keyword stuff 2004-05-12 16:21:18 +00:00
dlmalloc.h * include/cygwin/version.h: Bump DLL minor number to 8. 2004-01-20 19:36:35 +00:00
dtable.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
dtable.h * cygheap.cc (init_cheap): Add ability to specify minimal cygwin heap size when 2004-03-21 17:41:40 +00:00
dtable.sgml 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com> 2004-02-22 23:21:20 +00:00
environ.cc * environ.cc (environ_init): Alloc space for TERM if it is not set, like all of 2004-12-03 23:49:06 +00:00
environ.h
errno.cc * errno.cc (_sys_errlist): Change various text to their english Linux 2004-08-19 18:26:58 +00:00
exceptions.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
exec.cc * Makefile.in: Create libutil.a from bsdlib.o exports. 2004-09-10 08:30:51 +00:00
external.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
external.sgml 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com> 2004-02-22 23:21:20 +00:00
fcntl.cc
fhandler_clipboard.cc * Use new unified status_flag accessor methods from classes fhandler_*, 2004-04-10 13:45:10 +00:00
fhandler_console.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
fhandler_disk_file.cc * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Allow to report 2004-08-29 09:32:49 +00:00
fhandler_dsp.cc * exceptions.cc: (ctrl_c_handler): Do nothing while a Cygwin subprocess is 2004-09-12 03:47:57 +00:00
fhandler_fifo.cc * dtable.cc (dtable::find_fifo): Release lock after fifo found (still racy). 2004-06-07 04:26:32 +00:00
fhandler_floppy.cc * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::init): Fix non-ISO 2004-07-19 13:13:48 +00:00
fhandler_mem.cc Regularize most strace_prints throughout so that %E is always preceded by a 2004-09-03 01:53:12 +00:00
fhandler_nodevice.cc * fhandler_nodevice.cc (fhandler_nodevice::open): Assume that errno has already 2004-03-27 18:01:04 +00:00
fhandler_proc.cc * exceptions.cc: (ctrl_c_handler): Do nothing while a Cygwin subprocess is 2004-09-12 03:47:57 +00:00
fhandler_process.cc Regularize most strace_prints throughout so that %E is always preceded by a 2004-09-03 01:53:12 +00:00
fhandler_random.cc * Use new unified status_flag accessor methods from classes fhandler_*, 2004-04-10 13:45:10 +00:00
fhandler_raw.cc * fhandler.h (class fhandler_dev_raw): Remove is_writing flag. 2004-07-15 14:56:05 +00:00
fhandler_registry.cc * fhandler_registry.cc (registry_listing): Correct typo. 2004-07-15 02:07:14 +00:00
fhandler_serial.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
fhandler_socket.cc * cygtls.cc (_cygtls::fixup_after_fork): Wipe out exitsock local since it 2004-10-26 21:13:50 +00:00
fhandler_tape.cc * fhandler_tape.cc (fhandler_dev_tape::open): Fix typo. 2004-09-09 11:35:15 +00:00
fhandler_termios.cc * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Revert previous checkin. 2004-10-11 15:36:13 +00:00
fhandler_tty.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
fhandler_virtual.cc * fhandler.cc (fhandler_base::open): Simplify access evaluation 2004-04-14 16:36:26 +00:00
fhandler_windows.cc * Use new unified status_flag accessor methods from classes fhandler_*, 2004-04-10 13:45:10 +00:00
fhandler_zero.cc * Use new unified status_flag accessor methods from classes fhandler_*, 2004-04-10 13:45:10 +00:00
fhandler.cc * fhandler.cc (fhandler_base::read): Remove superfluous check in 2004-12-05 07:28:27 +00:00
fhandler.h * fhandler.h (fhandler_dev_dsp:~fhandler_dev_dsp): Delete. 2004-08-17 09:52:50 +00:00
flock.cc
fork.cc * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
gcrt0.c
gendef * cygtls.h (waitq): Declare structure here. 2004-03-12 03:09:28 +00:00
gendevices
gentls_offsets * gendef (stabilize_sig_stack): Correctly align this pointer for call to 2004-02-25 04:08:00 +00:00
glob.c
gmon.c
gmon.h
grp.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
heap.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
heap.h
hires.h * exceptions.cc (set_signal_mask): Redefine to not pass by address. Report 2003-12-23 16:26:31 +00:00
how-autoload-works.txt
how-cygheap-works.txt
how-fhandlers-work.txt
how-signals-work.txt minor cleanup 2004-03-14 05:35:19 +00:00
how-spawn-works.txt
how-to-debug-cygwin.txt
how-vfork-works.txt minor cleanup 2004-12-05 02:30:20 +00:00
init.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
ioctl.cc
ipc.cc
localtime.cc * localtime.cc (localtime_r): Call tzset. 2004-02-08 19:59:27 +00:00
Makefile.in * Makefile.in: Create libutil.a from bsdlib.o exports. 2004-09-10 08:30:51 +00:00
malloc_wrapper.cc * gendef (sigreturn): Call stabilize_sig_stack to ensure that there are no 2004-03-04 05:31:14 +00:00
malloc.cc
mcount.c
misc-std.sgml
miscfuncs.cc 2004-06-17 Pierre Humblet <pierre.humblet@ieee.org> 2004-06-17 13:34:26 +00:00
mkvers.sh update copyright 2004-02-04 22:40:50 +00:00
mmap.cc * exceptions.cc: (ctrl_c_handler): Do nothing while a Cygwin subprocess is 2004-09-12 03:47:57 +00:00
msg.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
mtinfo.h * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
net.cc * fhandler_socket.cc (fhandler_socket::dup): Decrement dtable's 2004-08-19 10:58:37 +00:00
netdb.cc
newsym
ntdll.h Christopher Faylor <cgf@timesys.com> 2004-09-03 01:32:02 +00:00
ntea.cc
passwd.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
path.cc 2004-12-03 Pierre Humblet <pierre.humblet@ieee.org> 2004-12-03 02:00:37 +00:00
path.h 2004-10-02 Pierre Humblet <pierre.humblet@ieee.org> 2004-10-02 02:20:21 +00:00
path.sgml 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com> 2004-02-22 23:21:20 +00:00
perprocess.h
pinfo.cc * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
pinfo.h * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
pipe.cc 2004-11-20 Pierre Humblet <pierre.humblet@ieee.org> 2004-11-20 23:42:36 +00:00
poll.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
posix.sgml
profil.c
profil.h
pseudo-reloc.cc
pthread.cc
pwdgrp.h * exceptions.cc (set_signal_mask): Redefine to not pass by address. Report 2003-12-23 16:26:31 +00:00
registry.cc 2004-12-03 Pierre Humblet <pierre.humblet@ieee.org> 2004-12-03 02:00:37 +00:00
registry.h 2004-12-03 Pierre Humblet <pierre.humblet@ieee.org> 2004-12-03 02:00:37 +00:00
resource.cc
rmsym
ROADMAP
scandir.cc
sched.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
sec_acl.cc * autoload.cc (NtCreateFile): Add. 2004-04-16 21:22:13 +00:00
sec_helper.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
security.cc 2004-10-28 Pierre Humblet <pierre.humblet@ieee.org> 2004-10-28 01:46:01 +00:00
security.h 2004-06-17 Pierre Humblet <pierre.humblet@ieee.org> 2004-06-17 13:34:26 +00:00
select.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
select.h * debug.h (console_printf): Define for non-debugging condition. 2004-02-09 04:04:24 +00:00
sem.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
shared_info.h 2004-12-03 Pierre Humblet <pierre.humblet@ieee.org> 2004-12-03 02:00:37 +00:00
shared.cc 2004-12-03 Pierre Humblet <pierre.humblet@ieee.org> 2004-12-03 02:00:37 +00:00
shared.sgml 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com> 2004-02-22 23:21:20 +00:00
shm.cc * shm.cc: Whitespace fixes. 2004-07-20 16:08:49 +00:00
signal.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
sigproc.cc * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
sigproc.h * child_info.h (child_info_fork::parent_wr_proc_pipe): New element. 2004-12-03 04:46:00 +00:00
smallprint.c
spawn.cc * sigproc.cc (mychild): Reimplement as list scan. 2004-12-05 19:41:26 +00:00
speclib
stackdump.sgml 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com> 2004-02-22 23:21:20 +00:00
strace.cc
string.h
strsep.cc
strsig.cc * Makefile.in (DLL_OFILES): Add strsig.o. 2004-02-03 21:59:27 +00:00
sync.cc * cygthread.cc (cygthread::is): Eliminate. 2004-05-16 04:18:50 +00:00
sync.h * cygthread.cc (cygthread::is): Eliminate. 2004-05-16 04:18:50 +00:00
syscalls.cc * syscalls.cc (truncate64): Don't second-guess errno if open fails. 2004-12-01 15:00:40 +00:00
sysconf.cc Regularize most strace_prints throughout so that %E is always preceded by a 2004-09-03 01:53:12 +00:00
syslog.cc * exceptions.cc (set_signal_mask): Redefine to not pass by address. Report 2003-12-23 16:26:31 +00:00
termios.cc Rename _threadinfo to _cygtls, throughout. 2004-02-12 03:01:58 +00:00
textmode.c
textreadmode.c * Makefile.in (EXTRALIBS): Add libtextreadmode.a. 2004-04-06 14:22:43 +00:00
thread.cc * cygtls.cc (_cygtls::init_thread): Set __sdidinit to negative value to 2004-09-07 04:05:14 +00:00
thread.h * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
timer.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
times.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
tlsoffsets.h * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
tty.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
tty.h Change the name "title_mutex" to "tty_mutex" throughout. 2004-05-17 15:27:56 +00:00
tz_posixrules.h
uinfo.cc 2004-11-20 Pierre Humblet <pierre.humblet@ieee.org> 2004-11-20 19:09:19 +00:00
uname.cc * exceptions.cc: (ctrl_c_handler): Do nothing while a Cygwin subprocess is 2004-09-12 03:47:57 +00:00
wait.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
winbase.h * winbase.h (ilockincr): Add more neverending changes from the inexplicable 2004-06-04 23:55:44 +00:00
wincap.cc * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it 2004-05-28 19:50:07 +00:00
wincap.h * errno.cc (errmap): Map ERROR_BEGINNING_OF_MEDIA and 2004-03-14 18:01:45 +00:00
window.cc * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
wininfo.h add missing file 2004-05-16 16:38:27 +00:00
winsup.h * Makefile.in: Create libutil.a from bsdlib.o exports. 2004-09-10 08:30:51 +00:00
winver.rc