src/winsup/cygwin ChangeLog assert ...
Sat Sep 2 21:16:00 GMT 2000

CVSROOT:	/cvs/src
Module name:	src
Changes by:	2000-09-02 21:16:35

Modified files:
	winsup/cygwin  : ChangeLog child_info.h 
	        path.h pinfo.h 
	        thread.h winsup.h 
Added files:
	winsup/cygwin  : cygheap.h heap.h 

Log message:
	* Add cygheap.o.
	* child_info.h: Add specific exec class.
	* cygheap.h: New file.  Contains declarations for cygwin heap.
	* New file.  Implements cygwin heap functions.
	* (quoted): Simplify due to new method for passing arguments between
	cygwin programs.
	(alloc_stack_hard_way): Attempt to handle overlapped stack.
	(dll_crt0_1): Move child_info processing here.  Accomodate new method for
	passing arguments between cygwin programs.  Initialize cygwin heap.  Establish
	__argc and __argv variables.
	(_dll_crt0): Move most of child_info processing to dll_crt0_1.
	(cygwin_dll_init): Remove duplication.
	* (dtable::extend): Allocate dtable using cygwin heap.
	(dtable::build_fhandler): Ditto for fhandler type being constructed.
	(dtable::dup_worker): Free new fhandler from cygwin heap on error.
	(dtable::select_*): Don't assume that this == fdtab.
	(dtable::linearize_fd_array): Delete.
	(dtable::delinearize_fd_array): Delete.
	(dtable::fixup_after_exec): New file.
	(dtable::vfork_child_dup): Use cygwin heap.
	(dtable::vfork_parent_restore): Ditto.
	* dtable.h: Remove obsolete methods.  Add new method.
	* (posify): Eliminate already_posix parameter and logic.
	(envsize): New function.
	(_addenv): Use envsize.
	(environ_init): Accept an argument pointing to an existing environment list.
	If supplied, allocate space for this in the the program's heap.
	* (fhandler_base::operator =): Move here from fhandler.h.  Use
	cygwin heap to allocate filenames.
	(fhandler_base::set_name): Allocate/free names from cygwin heap.
	(fhandler_base::linearize): Delete.
	(fhandler_base::de_linearize): Delete.
	(fhandler_base::operator delete): Free from cygwin heap.
	(fhandler_base::~fhandler_base): Ditto.
	* fhandler.h: Accomodate elimination of *linearize and other changes above.
	* (fhandler_console::fixup_after_exec): Rename from
	* heap.h: New file.
	* (fhandler_tty_slave::fhandler_tty_slave): Use cygwin heap for
	name.  fhandler_tty::fixup_after_exec): Rename from de_linearize.
	* (fork): Call cygheap_fixup_in_child.
	* Use declarations in heap.h.
	* Sprinkle assertions throughout to catch attempts to free/realloc
	something from the cygwin heap.
	* Throughout, eliminate use of per-thread cache for cwd.  Use cwd_*
	functions rather than cwd_* variables to access cwd_win32 and cwd_posix.
	(cwd_win32): New function.
	(cwd_posix): New function.
	(cwd_hash): New function.
	(cwd_fixup_after_exec): New function.
	* path.h: Accomodate changes.
	* (pinfo_init): Accept a pointer to an environment table.  Pass this
	to environ_init.  Eliminate old 'title' tests.
	* pinfo.h: Accomodate above change in argument.
	* (struct av): New method for building argv list.
	(av::unshift): New method.
	(spawn_guts): Allocate everything that the child process needs in the cygwin
	heap and pass a pointer to this to the child.  Build argv list using new
	method.  Eliminate delinearize stuff.
	* thread.h: Eliminate _cwd_win32 and _cwd_posix buffers.
	* winsup.h: Eliminate obsolete functions.  Add envsize() declaration.


More information about the Cygwin-cvs mailing list