This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src/winsup/cygwin ChangeLog child_info.h dcrt0 ...


CVSROOT:	/cvs/src
Module name:	src
Changes by:	cgf@sourceware.org	2004-12-05 19:41:26

Modified files:
	winsup/cygwin  : ChangeLog child_info.h dcrt0.cc fork.cc 
	                 pinfo.cc pinfo.h sigproc.cc spawn.cc 
	winsup/cygwin/include/sys: cygwin.h 

Log message:
	* 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.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=src&r1=1.2606&r2=1.2607
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/child_info.h.diff?cvsroot=src&r1=1.47&r2=1.48
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/dcrt0.cc.diff?cvsroot=src&r1=1.224&r2=1.225
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fork.cc.diff?cvsroot=src&r1=1.139&r2=1.140
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/pinfo.cc.diff?cvsroot=src&r1=1.124&r2=1.125
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/pinfo.h.diff?cvsroot=src&r1=1.66&r2=1.67
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/sigproc.cc.diff?cvsroot=src&r1=1.203&r2=1.204
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/spawn.cc.diff?cvsroot=src&r1=1.155&r2=1.156
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/include/sys/cygwin.h.diff?cvsroot=src&r1=1.55&r2=1.56


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