📄 changelog-2000
字号:
(_csbrk): Make logic for detecting when to alloc cognizant of initialization condition. (_cmalloc): Use a structure to hold bucket size and heap chain pointer. Store pointer to next freed block in bucket size location so that it will be easy to see if a block is allocated. (_cfree): Store pointer to next freed block in bucket size location. (_crealloc): Use macro to retrieve bucket size. (cygheap_init): Eliminate. (cygheap_fixup_in_child): Add second argument to determine if we were execed or not. In execed case, walk the heap, cleaning up any orphaned blocks. * cygheap.h: Add a "MAX" value to cygheap_types. Remove cygheap_init declaration. Accommodate new argument to cygheap_fixup_in child. * fork.cc (fork): Accommodate extra argument to cygheap_fixup_in_child. * dcrt0.cc (dll_crt0_1): Ditto. Remove call to cygheap_init.Fri Sep 29 21:49:27 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (symlink_info::check): Set executable bit for a file if the first two characters are 'MZ' to mirror spawn_guts check.Sat Sep 30 03:34:00 2000 Corinna Vinschen <corinna@vinschen.de> * winsup.h: Add `winME' to os_type symbols. * dcrt0.cc (set_os_type): Identify Windows ME systems. * (host_dependent_constants::init): Care for winME. * uname.cc (uname): Ditto.Thu Sep 28 01:46:00 2000 Corinna Vinschen <corinna@vinschen.de> * net.cc (get_ifconf): Code cleanup. Split. Call os dependent subfunctions instead. (get_9x_ifconf): New function for 9X systems, called by get_ifconf. (get_nt_ifconf): New function for NT systems, called by get_ifconf. (get_2k_ifconf): New function for W2K systems, called by get_ifconf.Wed Sep 27 01:10:07 2000 Christopher Faylor <cgf@cygnus.com> * spawn.cc (spawn_guts): Attempt to accommodate archaic windows quoting mechanism when dealing with '\' and '"'.Mon Sep 25 20:47:04 2000 Christopher Faylor <cgf@cygnus.com> * dcrt0.cc (quoted): Fix problem where ' quoted strings were skipped. * fhandler.h (fhandler_socket::~fhandler_socket): Delete declaration. * net.cc: Remove unnecessary "number_of_sockets" usage. (fhandler_socket::fhandler_socket): Ditto. (fhandler_socket::~fhandler_socket): Delete definition. * spawn.cc (spawn_guts): Force first argument passed to CreateProcess as a command line to be windows style.2000-09-25 Christopher Faylor <cgf@cygnus.com> * spawn.cc (av::dup_maybe): Make function void rather than void *. * environ.cc (environ_init): Remember to reparse CYGWIN if envp is supplied. * heap.cc (_sbrk): Remember frame for signal handling. * syscalls.cc (read_handler): Eliminate. (_read): Move read_handler code here. Reorganize for one path through 'ready_for_read'.Tue Sep 19 09:46:36 2000 Christopher Faylor <cgf@cygnus.com> * spawn.cc (spawn_guts): Use actual program argument passed in for argv[0] as originally suggested by Kazuhiro Fujieda <fujieda@jaist.ac.jp>.Mon Sep 18 23:17:19 2000 Christopher Faylor <cgf@cygnus.com> * path.h: Create new input path flag PATH_NEEDDIR. * path.cc (path::check): Detect trailing slash before converting to windows path. Tell symlink_info::check to check for directory if one is found. (symlink_info::check): Set errno when path is not a directory if pflags & PATH_NEEDDIR.Mon Sep 18 19:44:08 2000 Christopher Faylor <cgf@cygnus.com> * fhandler_tty.cc (fhandler_tty_slave::write): Correct typo which caused resetting of windows error to ERROR_IO_DEVICE to be ignored.Mon Sep 18 17:15:37 2000 Kazuhiro Fujieda <fujieda@jaist.ac.jp> * path.cc (mount_info::read_mounts): Don't delete mount entries of which mount points have the cygdrive prefix. * (mount_info::add_reg_mount): Properly catch errors on registry operations. * (mount_info::write_cygdrive_info_to_registry): Ditto. * (mount_info::del_reg_mount): Cosmetic changes to be consistent with other methods. * (mount_info::add_item): Check arguments more precisely. Increment nmounts only when registry operations succeed.Sun Sep 17 22:18:39 2000 Christopher Faylor <cgf@cygnus.com> * exceptions.cc (interruptible): Return 0 if given an address in uncommitted memory.2000-09-16 Egor Duda <deo@logos-m.ru> * signal.cc (sleep): If interrupted by signal, return the requested time minus the time actually slept.Fri Sep 15 22:30:40 2000 Christopher Faylor <cgf@cygnus.com> * exceptions.cc (handle_exceptions): Just "core dump" if SIGSEGV in signal thread. * external.cc (fillout_pinfo): Fix compiler warning. * sigproc.h: Eliminate special asm naming for sig_dispatch_pending. * sigproc.cc (sig_send): Remove debugging statements.Wed Sep 13 14:56:47 2000 Christopher Faylor <cgf@cygnus.com> * spawn.cc (av): Hide 'calloced' field and limit cstrduping to class methods only. (spawn_guts): Use methods for manipulating most newargv stuff.2000-09-13 Egor Duda <deo@logos-m.ru> * child_info.h (child_info_spawn::~child_info_spawn): Avoid memory leaks in cygheap. * spawn.cc (spawn_guts): Ditto.Wed Sep 13 14:28:03 2000 Christopher Faylor <cgf@cygnus.com> * dcrt0.cc (quoted): Return next character after a quoted string when not doing special quote processing. Also ensure that non-NULL is returned in all circumstances.Wed Sep 13 10:26:16 2000 Christopher Faylor <cgf@cygnus.com> * spawn.cc (spawn_guts): Ensure that argv[0] is correctly set to the full path when a script is detected. Suggested by Kazuhiro Fujieda <fujieda@jaist.ac.jp>.Tue Sep 12 22:33:30 2000 Christopher Faylor <cgf@cygnus.com> * external.cc (fillout_pinfo): Handle explicit pids correctly.Tue Sep 12 14:37:32 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (normalize_posix_path): Fix more slashdot madness.Tue Sep 12 12:29:29 2000 Christopher Faylor <cgf@cygnus.com> * Makefile.in: Make clean target remove *.d.Mon Sep 11 13:19:15 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (normalize_posix_path): Correctly deal with a "." parameter.Sun Sep 10 20:23:35 2000 Christopher Faylor <cgf@cygnus.com> * cygheap.cc (init_cheap): Just use any old address for the cygwin heap. * exceptions.cc (signal_exit): Don't terminate the main thread. Just try to exit in this thread really quickly. * signal.cc (kill_pgrp): Fix typo which caused pinfo structure to be assigned incorrectly.Sun Sep 10 12:40:49 2000 Christopher Faylor <cgf@cygnus.com> * dcrt0.cc (dll_crt0_1): Initialize thread and debug stuff before handling exec/fork. * dtable.cc (dtable::fixup_after_exec): Always clear out the read ahead buffer whether closing or adjusting. * path.cc (chdir): Avoid a compiler warning.Sat Sep 9 23:29:17 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (chdir): Use the full path for cwd_win32. Consider attempts to chdir to strings of dots > 2 to be an error. Pass 'dir' argument to cygcwd.set. (cwdstuff::set): Need to treat arguments from chdir differently. * path.h (cwdstuff): Add an argument to set.Fri Sep 8 11:50:09 2000 Christopher Faylor <cgf@cygnus.com> * lib/_cygwin_crt0_common.cc: Add missing header files.Thu Sep 7 23:07:21 2000 Christopher Faylor <cgf@cygnus.com> * sigproc.h (sigframe::set): Eliminate second argument. Default bp to current frame pointer rather than using this within the function, which is unstable when this method is not inlined. * net.cc: Eliminate use of second argument to sigframe.set throughout. * select.cc (cygwin_select): Ditto. * sigproc.cc (sig_send): Ditto.Thu Sep 7 22:45:16 2000 Christopher Faylor <cgf@cygnus.com> Break out more header info into separate files. Use appropriate header files throughout. * shared.h: Remove. * cygwin_version.h: New file. * delqueue.h: New file. * environ.h: New file. * host_dependent.h: New file. * perprocess.h: New file. * registry.h: New file. * security.h: New file.Thu Sep 7 12:14:43 2000 Christopher Faylor <cgf@cygnus.com> Split out tty and shared_info stuff into their own headers and use throughout. Include sys/termios.h for files which need it. * tty.h: New file. * shared_info.h: New file. * fhandler.h: Move inline methods that rely on tty stuff to fhandler_console.cc. * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Set output_done_event immediately after reading data to speed up tty output processing. (process_output): Set write_error to errno or zero. (fhandler_tty_slave::write): Check previous write error prior to writing to slave end of pipe. This allows tty output to be slightly less synchronous. * fhandler_console.cc (fhandler_console::tcsetpgrp): Moved here from fhandler.h. (fhandler_console::set_input_state): Ditto.Wed Sep 6 21:11:13 2000 Christopher Faylor <cgf@cygnus.com> * exceptions.cc (signal_exit): Reset all mutos owned by the main thread. * fhandler.h: Define *_output_mutex macros for serializing tty output. (fhandler_termios): Remove restart_output_event. Define dummy output mutex methods. (fhandler_pty_master): Remove unneeded fixup_after_fork method. * fhandler_termios.cc (fhandler_termios::line_edit): Acquire output_mutex when CTRL-S is hit. Release it on CTRL-Q. * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Remove inappropriate OutputStopped test here. Just use the output mutex. (fhandler_pty_master::fhandler_pty_master): Remove obsolete reference to restart_output_event. (fhandler_tty_common::close): Ditto. (fhandler_pty_master::set_close_on_exec): Ditto. (fhandler_pty_master::fixup_after_fork): Delete. * tty.cc (tty::common_init): Ditto. * sync.cc (muto::reset): New method. * sync.h: Declare above method.Wed Sep 6 16:56:38 2000 Christopher Faylor <cgf@cygnus.com> * sigproc.cc: Add include file for proper definitions. * spawn.cc: Ditto. * winsup.h: Define cfree to avoid newlib pollution.Wed Sep 6 14:11:51 2000 Christopher Faylor <cgf@cygnus.com> * Makefile.in (CFLAGS): Ensure that -MD is always added even when CFLAGS is overwritten.Wed Sep 6 02:40:12 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (cwdstuff::get_initial): Keep caching alive. (mount_info::conv_to_win32_path): Fill out relative path in failing case.Tue Sep 5 21:36:15 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (normalize_posix_path): Deal with error return from cygcwd.get. (normalize_win32_path): Ditto. (mount_info::conv_to_win32_path): Ditto. (cwdstuff::get): Set buf to NULL on error.Tue Sep 5 17:49:34 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (readlink): 'max' should be a 'min' or we'll suffer buffer overflow.Mon Sep 4 22:53:58 2000 Christopher Faylor <cgf@cygnus.com> * path.cc (cwd_win32): Eliminate. (cwd_posix): Eliminate. (cwd_hash): Eliminate. (cwdstuff::init): Rename from cwd_init. (cwdstuff::fixup_after_exec): Rename from cwd_fixup_after_exec. (cwdstuff::get): Rename from get_cwd_inner. (normalize_posix_path): Eliminate cwd argument. Just calculate when necessary. (normalize_win32_path): Ditto. (mount_info::conv_to_win32_path): Eliminate cwd retrieval here. (mount_info::conv_to_posix_path): Ditto. (hash_path_name): Accommodate additional methods in cwdstuff. (get_cwd_win32): Eliminate. (getcwd): Use cwdstuff methods. Properly handle case where buf == NULL and len < 0. (cwdstuff::get_hash): New method. (cwdstuff::get_initial): New method. (cwdstuff::set): New method. (cwdstuff::get): New method. (cwdstuff::copy): New method. * path.h: Move cwdstuff struct here. Add a bunch of stuff to cwdstuff. Make cygcwd an extern. * spawn.cc (spawn_guts): Use copy method to get copies of cwd info to pass to execed process. * dcrt0.cc (dll_crt0_1): Use cygcwd methods for cwd initialization.2000-09-03 Egor Duda <deo@logos-m.ru> * path.cc (readlink): Check if buffer length is positive. Truncate output to buffer length. Don't terminate buffer with '\0'.Sun Sep 3 00:38:40 2000 Christopher Faylor <cgf@cygnus.com> * environ.cc (environ_init): Don't free the new environment table after we've just copied stuff to it.Sun Sep 3 00:07:32 2000 Christopher Faylor <cgf@cygnus.com> * Makefile.in: Add cygheap.o. * child_info.h: Add specific exec class. * cygheap.h: New file. Contains declarations for cygwin heap. * cygheap.cc: New file. Implements cygwin heap functions. * dcrt0.cc (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. Accommodate 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.cc (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::linear
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -