src/winsup/cygwin ChangeLog cygwin.din dcrt0.c ...
Sat Jul 29 09:25:00 GMT 2000

CVSROOT:	/cvs/src
Module name:	src
Changes by:	2000-07-29 09:25:03

Modified files:
	winsup/cygwin  : ChangeLog cygwin.din 
	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.
	* (dll_crt0_1): Accomodate set_myself argument change.
	(__api_fatal): Accomodate _pinfo::record_death argument change.
	* (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.
	* (fillout_pinfo): Use winpids class to iterate over all system
	(cygwin_internal): lock_pinfo_for_update and unlock_pinfo are now noops.
	* (fhandler_termios::set_ctty): Use pinfo constructor to
	access process info.
	* (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.
	* (recreate_mmaps_after_fork): Change arg type to _pinfo.
	* Rename pinfo methods to _pinfo throughout.  Eliminate pinfo_list
	(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
	(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
	(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-info::initialize): Remove pid initialization.
	* shared.h: Move pinfo stuff into pinfo.h.
	(class shared_info): Remove pinfo_list element.
	* (kill_worker): Use pinfo constructor to access process info.
	(kill_pgrp): Ditto.  Use winpids methods to access list of processes.
	* 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
	* (spawn_guts): Eliminate pinfo *child argument.  Reorganize to only
	initialize child pinfo after process has been started and we know the windows
	(_spawnve): Reflect spawn_guts changes.
	* (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.


More information about the Cygwin-cvs mailing list