📄 changelog-2000
字号:
* security.cc (set_process_privileges): Don't reopen parent process. Just use hMainProc. * signal.cc (signal): Track when a signal handler has been used. (sigaction): Ditto. * sigproc.cc (pchildren): Use default initializer. (zombies): Ditto. (sigproc_terminate): Avoid closing handles that will be closed on exit anyway. (wait_sig): Send signal to "parent" on EXECing, not FORKing. (wait_subproc): Send SIGCHLD here rather than in proc_wait to avoid potential muto conflicts. * sigproc.h (sigthread): Don't initialize to zero. It's the default. * spawn.cc (spawn_guts): Fill in resources from exec parent prior to termination. * sync.h (muto): Don't initialize to zero. * syscalls.cc (close_all_files): Use one lock around entire loop and call fhandler close/release stuff directly. (_read): Don't use ready_for_read if there are not signal handlers active.Sat Oct 14 12:24:24 2000 Christopher Faylor <cgf@cygnus.com> * dcrt0.cc (dll_crt0_1): Fix display of "title". (do_exit): Use pinfo exit method to exit. (__api_fatal): Ditto. * exceptions.cc (signal_exit): Ditto. * fork.cc (fork_child): Remove debugging stuff. Use pinfo_fixup_after fork in place of exec_fixup_after_fork. * pinfo.cc (pinfo_fixup_after_fork): New method. (pinfo_fixup_in_spawned_child): Ditto. (_pinfo::exit): New method. (_pinfo::init): Remove recursion. Detect pathological case where pinfo structure already exists for new pid. * pinfo.h (_pinfo): Reorganize slightly. Add new method and new function declarations. * sigproc.cc (proc_exists): Previous simplification was a little to simple. Try harder to detect if a process exists. (proc_terminate): Use PID_EXITED setting to determine if process is still around. (WFSO): Remove debugging statement. (WFMO): Ditto. * spawn.cc (exec_fixup_after_fork): Eliminate. (spawn_guts): Always set old_title to NULL. Is it really needed? Move hexec_proc to pinfo.cc. Call pinfo_fixup_in_spawned_child to eliminate handle link after a spawn. * include/sys/cygwin.h: Remove PID_NOT_IN_USE. Add PID_EXITED.Sat Oct 14 10:54:00 2000 Corinna Vinschen <corinna@vinschen.de> * cygwin.din: Add symbol hstrerror. * net.cc: Change meaning of member `s' of struct host_errmap. (set_host_errno): Fix error in loop condition. (hstrerror): Ditto. (herror): Add appropriate functionality. * include/netdb.h: Add declaration of hstrerror. * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 29.Sat Oct 14 01:45:25 2000 Christopher Faylor <cgf@cygnus.com> * cygheap.cc (cygheap_fixup_in_child): Don't page round cygheap copied from parent. * dcrt0.cc (do_exit): Don't cleanup pinfo on exit. That happens automatically now. * exceptions.cc (signal_exit): Ditto. * fork.cc (fork_parent): Use stack_here value passed in from fork(). (fork): Figure out top of stack here and pass it to fork_parent. * pinfo.cc (_pinfo::record_death): Eliminate. * pinfo.h (_pinfo): Ditto. * sigproc.cc (proc_exists): Simplify. (proc_terminate): Ditto. (remove_zombie): Don't cleanup pinfo stuff. (wait_sig): Send subproc_ready signal whether execed or spawned. * spawn.cc (spawn_guts): Always create subproc_ready event. Use it for both exec and spawn. (_spawnve): Send proper mode to spawn_guts when mode != _P_OVERLAY.Thu Oct 12 23:11:05 2000 Christopher Faylor <cgf@cygnus.com> * dtable.cc (dtable::fixup_after_fork): Revert thinko below. * pinfo.cc (set_myself): Show pid in initial strace line.Thu Oct 12 17:58:03 2000 Christopher Faylor <cgf@cygnus.com> * child_info: Bump child_info "version". (child_info): Move some fields from child_info_spawn to here. * cygheap.cc: Make cygheap pointers NOCOPY. * dcrt0.cc (dll_crt0_1): Copy cygwin heap here regardless of whether we've been forked or execed. * dtable.cc (dtable::fixup_after_fork): Just release close-on-exec fds. * exceptions.cc (stackdump): Respond to C warning. * fork.cc: Reorganize to minimize stack copying. (fork_child): New function. (fork_parent): Ditto. (sync_with_child): Don't suspend the forkee. (sync_with_parent): Ditto. Make into a function. * heap.cc (heap_init): Add some debugging output. * path.cc (path_conv::check): Add an assertion. (has_suffix): Ditto. * security.cc (get_pw_sid): Defend against NULL. * sigproc.cc (proc_subproc): Fix debugging output. (wait_sig): Ditto. * strace.cc: Make statics NO_COPY throughout. (strace::vsprntf): Defend against NULL.Thu Oct 12 00:25:29 2000 Christopher Faylor <cgf@cygnus.com> * errno.cc (seterrno_from_win_error): Fix debugging output. * fhandler.cc (fhandler_base::fstat): Move to inline method in fhandler.h. (fhandler_base::set_io_handle): Ditto. * fhandler.h (fhandler_base): Make some methods inline. * fhandler_console.cc (fhandler_console::write_normal): Make buffer larger. * sigproc.h (sigframe::sigframe): Actually use set ebp parameter correctly. * spawn.cc (spawn_guts): Set dwProcessId when exec'ing. Just exit immediately after reparenting. * syscalls.cc: Sprinkle sigframe stuff throughout. * wait.cc (wait4): Set signal frame here.Tue Oct 10 19:54:06 2000 Christopher Faylor <cgf@cygnus.com> * dcrt0.cc (__api_fatal): Don't rely on small_printf to display errors. Always display problems to the console, if possible.Tue Oct 10 15:21:10 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (cwdstuff::get): Set EINVAL when length is zero.Mon Oct 9 14:07:04 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (mount_info::cygdrive_posix_path): Handle e:foo construction correctly.Mon Oct 9 16:44:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler_mem.cc (fhandler_dev_mem::fhandler_dev_mem): Fix debug output.Mon Oct 9 15:58:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler_mem.cc: Eliminate unused include statements. (fhandler_dev_mem::fhandler_dev_mem): Check for 9X/ME.Mon Oct 9 15:11:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler.h (fhandler_dev_mem): Erase member `init_phase' and member function `init'. * fhandler_mem.cc: Add typedefs for NT internal data types `SYSTEM_INFORMATION_CLASS' and `SYSTEM_BASIC_INFORMATION'. Add prototype for `NtQuerySystemInformation' function. (fhandler_dev_mem::fhandler_dev_mem): Takes over initialization task from `init'. Use `NtQuerySystemInformation' function to evaluate the size of physical memory instead of interval search. (fhandler_dev_mem::init): Eliminated. (fhandler_dev_mem::open): Don't call `init'. (fhandler_dev_mem::read): Eliminate check for `init_phase'. (dummy_autoload): Add load statement for `NtQuerySystemInformation'.Sun Oct 8 22:38:40 2000 Christopher Faylor <cgf@cygnus.com> * dtable.cc (set_std_handle): Use std_consts array to control SetStdHandle settings. (dtable::fixup_after_fork): Ditto. * exceptions.cc (set_sig_errno): Remove some debugging output. * path.cc (path_conv::check): Don't OR need_directory with flags sent to symlink_info::check. (symlink_info::check): Use PATH_ALL_EXEC to determine when a file is executable. * path.h (path_types): Add PATH_ALL_EXEC. (isexec): Use PATH_ALL_EXEC so that cygexec types will be considered executable. * pinfo.h (_pinfo): Add a process handle that is kept open throughout the life of a cygwin pid. * sigproc.cc (proc_exists): Remove hopefully obsolete stuff. (proc_subproc): Set up process handle that is kept open throughout the life of a cygwin pid. Reorganize PROC_WAIT stuff to use common code. (proc_terminate): Close pid lifetime process handle. (checkstate): Cleanup. (stopped_or_terminated): Move zombie cleanup. (remove_zombie): To here. * spawn.cc (spawn_guts): Reorganize reparenting code for 1247th time.Sat Oct 7 13:59:15 2000 Christopher Faylor <cgf@cygnus.com> * fhandler.h (fhandler_base): Remove obsolete _rpos and _rsize elements. * fhandler.cc (fhandler_base::open): Ditto. * fhandler.cc (fhandler_base::fhandler_base): Ditto. (fhandler_base::read): Ditto. Add more debugging output. Don't issue a \r when \r\n detected. * pipe.cc (make_pipe): Streamline slightly. Make debug output more interesting. * strace.cc (strace::vsprintf): Use __progname where appropriate to distinguish strace output when exec'ing.Sat Oct 7 19:25:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler.h (fhandler_dev_mem): Add methods mmap, munmap and msync. Add `unit' member. * fhandler_mem.cc (fhandler_dev_mem): Initialize `unit' as well. (init): Care for differences between /dev/mem, /dev/kmem (not implemented yet) and /dev/port. (open): Change debug message to reflect the device. (mmap): New function. (munmap): Ditto. (msync): Ditto. (fstat): Use unit when setting st_dev in stat structure. * mmap.cc (mmap): Handle MAP_ANONYMOUS flag. Change error handling slightly. * path.cc (get_device_number): Handle /dev/port.Fri Oct 6 23:21:29 2000 Christopher Faylor <cgf@cygnus.com> * syscalls.cc (_read): Behave properly when passed previous version of O_NDELAY. Fix up debugging output.Thu Oct 5 20:34:48 2000 Christopher Faylor <cgf@cygnus.com> * net.cc (set_socket_inheritance): Rename from duplicate_socket. Use NT specific call when appropriate. (__set_winsock_errno): Rename from set_winsock_errno. Accept function and line as arguments. * path.cc (path_conv::check): Continue the neverending battle to make cygwin properly understand that path specs ending in a slash require that the path refer to a directory. Windows does not do this by default. (symlink_info::check): Remove ENOTDIR test. Move it to path_conv::check. * path.h: Remove obsolete constant. * winsup.h (set_winsock_errno): New macro.Thu Oct 5 14:58:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler.h: Add mmap(), munmap() and msync() to fhandler_base and fhandler_disk_file. * mmem.cc (mmap): Eliminated device dependent implementation details. These are moved to the appropriate fhandler class. (munmap): Ditto. (msync): Ditto. (fhandler_base::mmap): New method. (fhandler_base::munmap): Ditto. (fhandler_base::msync): Ditto. (fhandler_disk_file::mmap): Ditto. (fhandler_disk_file::munmap): Ditto. (fhandler_disk_file::msync): Ditto.Thu Oct 5 01:52:43 2000 Christopher Faylor <cgf@cygnus.com> * net.cc: General cleanup. (fdsock): Return pointer to created fhandler_socket. (cygwin_socket): Use pointer returned by fdsock. Return correct errno when fd < 0.Thu Oct 5 00:48:40 2000 Christopher Faylor <cgf@cygnus.com> * exceptions.cc (interruptible): Add extra debugging. * sigproc.h (wait_sig): Fill in frame pointer, by default, prior to calling or suffer confusion due to September 7 change below.Wed Oct 4 23:10:27 2000 Christopher Faylor <cgf@cygnus.com> * include/netinet/tcp.h: Remove winsock.h include. * include/sys/cygwin.h: Move windows specific reference within conditional.Thu Oct 5 1:13:00 2000 Corinna Vinschen <corinna@vinschen.de> * include/sys/mman.h: Add missing MAP_FAILED macro.Wed Oct 4 18:48:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler.h (fhandler_dev_mem): Add method `init'. Add members `mem_size' and `init_phase'. * fhandler_mem.cc (init): New function to figure out the size of the physical memory. (open): Add checking for illegal flags. Change usage of access mode. (write): Add intended functionality. (read): Add parameter checking. Eliminate page size constant. Use getpagesize() instead. Don't touch errno and don't create debug output while init() is running. (lseek): Add bounds checking. Fix SEEK_END. (fstat): Eliminate page size constant. Use getpagesize() instead. (dup): Add intended functionality.Mon Oct 2 22:15:00 2000 Corinna Vinschen <corinna@vinschen.de> * dcrt0.cc: Add LoadDLLFunc statement for RegEnumValueA(). * net.cc: Change comments related to get_ifconf. (get_2k_ifconf): Eliminate `type' variable. Eliminate `sa' parameter. (get_nt_ifconf): Ditto. (get_9x_ifconf): Ditto. Rewritten. (get_ifconf): Change calls to OS specific functions.Mon Oct 2 15:15:01 2000 Christopher Faylor <cgf@cygnus.com> * signal.cc (sigaction): Allow new action == oldaction.Mon Oct 2 11:05:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler_mem.cc: Load ntdll functions via autoload method. (load_ntdll_funcs): Eliminated.Sun Oct 1 16:36:00 2000 Corinna Vinschen <corinna@vinschen.de> * fhandler_mem.cc (load_ntdll_funcs): Add missing __stdcall qualifiers.Sun Oct 1 22:20:39 2000 Christopher Faylor <cgf@cygnus.com> * cygheap.cc (cygheap_init): Born again function. (_cmalloc): Reorganize to accommodate muto locking. (_cfree): Use muto lock to avoid multi-thread problems. * cygheap.h (incygheap): Just use cygheap_max to find upper cygwin heap bounds. * dcrt0.cc (dll_crt0_1): Reinstitute cygheap_init call. * path.cc (getcwd): Just return cwdstuff::get result, allowing correct handling of negative length. (cwdstuff::get): Malloc a buffer if one is not available.Sun Oct 1 2:56:00 2000 Corinna Vinschen <corinna@vinschen.de> * Makefile.in: Add fhandler_mem.o to the dependencies. * dtable.cc (dtable::build_fhandler): Add case for FH_MEM. * fhandler.h: Add FH_MEM device type. Add class fhandler_dev_mem. * fhandler_mem.cc: New file. Implementation of class fhandler_dev_mem. * path.cc: Add /dev/mem to windows_device_names. (get_device_number): Add FH_MEM type.Sat Sep 30 00:43:42 2000 Christopher Faylor <cgf@cygnus.com> * cygheap.cc (init_cheap): Set aside space for heap walk pointer.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -