src/winsup/cygwin ChangeLog cygwin.din dcrt0.c ...

cgf@sourceware.cygnus.com cgf@sourceware.cygnus.com
Sat Jul 29 09:25:00 GMT 2000


CVSROOT:	/cvs/src
Module name:	src
Changes by:	cgf@sourceware.cygnus.com	2000-07-29 09:25:03

Modified files:
	winsup/cygwin  : ChangeLog cygwin.din dcrt0.cc environ.cc 
	                 exceptions.cc external.cc fhandler_console.cc 
	                 fhandler_termios.cc fork.cc mkvers.sh mmap.cc 
	                 net.cc ntea.cc pinfo.cc scandir.cc select.cc 
	                 shared.cc shared.h signal.cc sigproc.cc 
	                 sigproc.h spawn.cc syscalls.cc uinfo.cc wait.cc 
	                 winsup.h 
	winsup/cygwin/include/cygwin: version.h 
	winsup/cygwin/include/sys: cygwin.h 
Added files:
	winsup/cygwin  : pinfo.h 

Log message:
	* include/cygwin/version.h: Bump DLL minor version number to 5 due to all of
	the changes below.  Redefine process structure to avoid a fixed size table.
	Redefine pinfo/_pinfo classes.  Use these throughout.
	* dcrt0.cc (dll_crt0_1): Accomodate set_myself argument change.
	(__api_fatal): Accomodate _pinfo::record_death argument change.
	* exceptions.cc (really_exit): Ditto.
	(sig_handle_tty_stop): Use pinfo constructor to access process info.
	(events_init): Don't create pinfo_mutex since it is no longer required.
	* external.cc (fillout_pinfo): Use winpids class to iterate over all system
	pids.
	(cygwin_internal): lock_pinfo_for_update and unlock_pinfo are now noops.
	* fhandler_termios.cc (fhandler_termios::set_ctty): Use pinfo constructor to
	access process info.
	* fork.cc (fork): Reorganize to initialize child info after the child has
	started since that is when we know the child's winpid, which is necessary to
	allocate the pinfo shared memory.
	* mmap.cc (recreate_mmaps_after_fork): Change arg type to _pinfo.
	* pinfo.cc: Rename pinfo methods to _pinfo throughout.  Eliminate pinfo_list
	stuff.
	(set_myself): Accept a pid argument now.  Call pinfo initializer to initialize
	myself.  Detect when this is an "execed" process and create an "indirect" pid
	block.
	(pinfo_init): Accomodate set_myself arg change.
	(procinfo): Remove.
	(pinfo::lock_pinfo): Remove.
	(pinfo::unlock_pinfo): Remove.
	(pinfo::init): New method.  Allocates shared memory space for process pinfo
	structure.
	(pinfo::record_death): Don't call locking functions.
	(cygwin_winpid_to_pid): Simplify by using new pinfo constructor.
	(EnumProcessesW95): New function for iterating over processes on Windows 95.
	(winpids::winpids): New constructor for winpids class.  Sets up a list of
	process ids.
	(enum_init): Initialize w95/wnt pid enumerators.
	* shared.cc (shared-info::initialize): Remove pid initialization.
	* shared.h: Move pinfo stuff into pinfo.h.
	(class shared_info): Remove pinfo_list element.
	* signal.cc (kill_worker): Use pinfo constructor to access process info.
	(kill_pgrp): Ditto.  Use winpids methods to access list of processes.
	* sigproc.cc: Throughout, modify to use _pinfo where appropriate.
	(proc_exists (pid_t)): New function.  Determines if a process exists based on
	the pid.
	(proc_exists (_pinfo *p): Use new proc_exists function above.
	(proc_subproc): Copy pinfo stuff around rather than _pinfo pointers.  Try to be
	careful about releasing shared memory when we don't need it anymore.  Remove
	pinfo locks.
	(remove_zombies): Remove pinfo memory when zombie is going away.
	* sigproc.h: Reflect _pinfo/pinfo changes in sigproc.cc.
	* spawn.cc (spawn_guts): Eliminate pinfo *child argument.  Reorganize to only
	initialize child pinfo after process has been started and we know the windows
	pid.
	(_spawnve): Reflect spawn_guts changes.
	* syscalls.cc (setpgid): Use pinfo constructor to access process info.
	(getpgid): Ditto.
	(internal_getlogin): Use _pinfo.
	* winsup.h: Eliminate pinfo_mutex.  Eliminate spawn_guts declaration since it
	is static now.  Reflect set_myself argument change.
	* include/sys/cygwin.h: Add some PID_* enums to accomodate new pinfo stuff.
	* include/cygwin/version.h: Update minor version for cygdrive changes below.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/pinfo.h.diff?cvsroot=src&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=src&r1=1.235&r2=1.236
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/cygwin.din.diff?cvsroot=src&r1=1.13&r2=1.14
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/dcrt0.cc.diff?cvsroot=src&r1=1.38&r2=1.39
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/environ.cc.diff?cvsroot=src&r1=1.17&r2=1.18
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/exceptions.cc.diff?cvsroot=src&r1=1.23&r2=1.24
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/external.cc.diff?cvsroot=src&r1=1.6&r2=1.7
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_console.cc.diff?cvsroot=src&r1=1.13&r2=1.14
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_termios.cc.diff?cvsroot=src&r1=1.2&r2=1.3
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fork.cc.diff?cvsroot=src&r1=1.12&r2=1.13
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/mkvers.sh.diff?cvsroot=src&r1=1.6&r2=1.7
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/mmap.cc.diff?cvsroot=src&r1=1.2&r2=1.3
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/net.cc.diff?cvsroot=src&r1=1.8&r2=1.9
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ntea.cc.diff?cvsroot=src&r1=1.1.1.1&r2=1.2
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/pinfo.cc.diff?cvsroot=src&r1=1.7&r2=1.8
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/scandir.cc.diff?cvsroot=src&r1=1.1.1.1&r2=1.2
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/select.cc.diff?cvsroot=src&r1=1.13&r2=1.14
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/shared.cc.diff?cvsroot=src&r1=1.3&r2=1.4
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/shared.h.diff?cvsroot=src&r1=1.17&r2=1.18
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/signal.cc.diff?cvsroot=src&r1=1.2&r2=1.3
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/sigproc.cc.diff?cvsroot=src&r1=1.23&r2=1.24
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/sigproc.h.diff?cvsroot=src&r1=1.10&r2=1.11
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/spawn.cc.diff?cvsroot=src&r1=1.20&r2=1.21
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/syscalls.cc.diff?cvsroot=src&r1=1.42&r2=1.43
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/uinfo.cc.diff?cvsroot=src&r1=1.15&r2=1.16
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/wait.cc.diff?cvsroot=src&r1=1.2&r2=1.3
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/winsup.h.diff?cvsroot=src&r1=1.22&r2=1.23
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/include/cygwin/version.h.diff?cvsroot=src&r1=1.15&r2=1.16
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/include/sys/cygwin.h.diff?cvsroot=src&r1=1.13&r2=1.14



More information about the Cygwin-cvs mailing list