CVSROOT: /cvs/uberbaum Module name: winsup Changes by: c...@sourceware.org 2011-05-30 06:52:13
Modified files: cygwin : ChangeLog dll_init.cc dll_init.h fork.cc spawn.cc child_info.h Log message: * dll_init.cc (dll_list::find_by_modname): New function to search the dll list for a module name only (no path). (dll_list::alloc): Initialize newly-added members of struct dll. (dll_list::append): New function to factor out the append operation (used by dll_list::topsort). (dll_list::populate_deps): New function to identify dll dependencies. (dll_list::topsort): New function to sort the dll list topologically by dependencies. (dll_list::topsort_visit): New helper function for the above. * dll_init.h (dll::ndeps): New class member. (dll::deps): Ditto. (dll::modname): Ditto. (dll_list::find_by_modname): New function related to topsort. (dll_list::populate_all_deps): Ditto. (dll_list::populate_deps): Ditto. (dll_list::topsort): Ditto. (dll_list::topsort_visit): Ditto. (dll_list::append): Ditto. (pefile): New struct allowing simple introspection of dll images. * fork.cc (fork): Topologically sort the dll list before forking * child_info.h (CURR_CHILD_INFO_MAGIC): Refresh. (child_info::refresh_cygheap): New function. * spawn.cc (spawn_guts): Call refresh_cygheap before creating a new process to ensure that cygheap_max is up-to-date. * fork.cc (frok::parent): Ditto. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaum&r1=1.5385&r2=1.5386 http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dll_init.cc.diff?cvsroot=uberbaum&r1=1.89&r2=1.90 http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dll_init.h.diff?cvsroot=uberbaum&r1=1.24&r2=1.25 http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fork.cc.diff?cvsroot=uberbaum&r1=1.223&r2=1.224 http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/spawn.cc.diff?cvsroot=uberbaum&r1=1.301&r2=1.302 http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/child_info.h.diff?cvsroot=uberbaum&r1=1.77&r2=1.78