📄 changelog-1997
字号:
Wed Dec 31 15:00:32 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): * hinfo.cc (hinfo_vec::find_unused_handle): correct previous patch -- need to fix up vec[i].h pointersWed Dec 31 14:13:22 1997 Ian Lance Taylor <ian@cygnus.com> * regexp/Makefile.in (tooldir): New variable. (install): Install regexp.h.Tue Dec 30 19:52:46 1997 Ian Lance Taylor <ian@cygnus.com> * net.cc (inet_netof): New function. (inet_makeaddr): New function. * cygwin.din: Export inet_netof and inet_makeaddr.Tue Dec 23 17:45:07 1997 Ian Lance Taylor <ian@cygnus.com> * path.cc (current_directory_name): New static variable. (current_directory_posix_name): New static variable. (getcwd_inner): Cache the directory name. (chdir): Move here from syscalls.cc. Clear directory cache variables. * syscalls.cc (chdir): Remove; now in path.cc. * environ.cc (setenv): Add cast to avoid warning. * security.cc (get_file_attribute): Make file parameter a pointer to const char. (set_file_attribute): Likewise. * winsup.c (get_file_attribute): Update declaration. (set_file_attribute): Likewise. * path.cc (path_conv): Don't pass the root directory to symlink_check_one.Mon Dec 22 16:34:40 1997 Ian Lance Taylor <ian@cygnus.com> * path.cc (realpath): Use path_conv to resolve symlinks. * path.cc (path_conv::path_conv): Rewrite completely to convert to win32 path first and then check for symlinks element by element. (symlink_check_one): New static function based on old symlink_check_worker, but without path conversion. (path_prefix_p): Move definition before all uses. (skip_n_slashes, symlink_expand, symlink_follow): Remove. (symlink_check_worker, symlink_check): Remove. (readlink): Rewrite to use new symlink_check_one. (unmixedcaseify, mixedcaseify): Comment out. * path.h (symlink_check, symlink_follow): Don't declare. * fhandler.cc (open): Don't pass O_NOSYMLINK to path_conv. Set errno from path_conv if it fails. * dirsearch.cc (opendir): Check errors from path_conv, and set errno appropriately. * times.cc (utimes): Likewise. * syscalls.cc (_unlink, _link, mkdir, rmdir, chdir): Likewise. (chmod, _rename): Likewise. (_stat_worker): Don't just pass nofollow to _open, but base whether to pass O_NOSYMLINK on whether nofollow is set. (lstat): Pass 1, not O_NOSYMLINK, to _stat_worker. * strerror.cc (strerror): Add ELOOP.Thu Dec 18 12:30:47 1997 Ian Lance Taylor <ian@cygnus.com> * fhandler.h (class fhandler_base): Remove inline definitions of tcflush, tcsendbreak, tcdrain, tcflow, tcsetattr, tcgetattr, tcsetpgrp, and tcgetpgrp, so that we can set proper errno values. (class fhandler_tty): Add pgrp_ field, and virtual tcgetpgrp and tcsetpgrp functions. * fhandler.cc (fhandler_base::tcflush): New function. (fhandler_base::tcsendbreak): New function. (fhandler_base::tcdrain): New function. (fhandler_base::tcflow): New function. (fhandler_base::tcsetattr): New function. (fhandler_base::tcgetattr): New function. (fhandler_base::tcsetpgrp): New function. (fhandler_base::tcgetpgrp): New function. (fhandler_tty::fhandler_tty): Initialize pgrp_. * tty.cc (tcsetpgrp): Set errno correctly on failure. * include/sys/termios.h (CBAUD): Change to 037. (B57600, B115200): Change to values that can fit in a speed_t. * spawn.cc (spawn_guts): Set errno correctly if we can't find the executable.Mon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> patch from msnyder@cygnus.com (Michael Snyder): * heap.cc (_sbrk): handle situation where newalloc < incrMon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): Allow Cygwin32 to terminate process even when in a blocking winsock call. * exceptions.cc (call_handler): call to WSACancelBlockingCall() removed. (sighandle): call WSACleanup() before exiting the process to cancel blocking winsock calls. * include/mywinsock.h: add proto for WSACleanup().Mon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> * Makefile.in: compile .cc files with -fno-exceptions to decrease dll size and increase execution speed a little.Mon Dec 15 16:40:07 1997 Geoffrey Noer <noer@cygnus.com> patch from cgf@bbc.com (Chris Faylor): * tty.cc (do_input): Detect CTRL-T as a special case when STRACE_CACHE is active. Dumps the strace cache to disk. * console.cc (fhandler_console::read): Detect CTRL-T as a special case when STRACE_CACHE is active. Dumps the strace cache to disk.Sat Dec 13 15:12:53 1997 Ian Lance Taylor <ian@cygnus.com> * fork.cc: Include <malloc.h>. (cygwin_fork_helper1): Call __malloc_copy after copying the stack and heap to the child.Thu Dec 11 15:14:40 1997 Geoffrey Noer <noer@cygnus.com> patch from cgf@bbc.com (Chris Faylor): * sigproc.cc (proc_subproc): Remove over-enthusiastic test for process handling readiness or proc_wait will loop attempting to handle a dying subprocess when signal handlers are not ready. * fork.cc (cygwin_fork_helper1): Reorganize to ensure that a forked process is capable of receiving signals when fork() returns.Wed Dec 10 15:43:37 1997 Ian Lance Taylor <ian@cygnus.com> * include/sys/termios.h (IXANY): Correct value. (PARMRK): Define again.Wed Dec 10 00:05:23 1997 Geoffrey Noer <noer@cygnus.com> patch from cgf@bbc.com (Chris Faylor): * dcrt0.cc (dll_crt0_1): Move start time initialization to a more logical place (pinfo_init). (do_exit): Reorganize to attempt to solve races when a cygwin process occupies two windows pids (i.e., an execed process). * exceptions.cc (lock_cs): Fix erroneous WFSO logic. (sighandle): Use new method for determining if process was initiated via fork. (events_terminate): Do not close pinfo_mutex. Allow automatic close by ExitProcess to lengthen the time that the pinfo structure is locked, minimizing races between an exiting child and a potentially exiting parent. * hinfo.cc (hmap_init): Use new method for determining if process was initiated via fork. (hinfo_vec::de_linearize_fd_array): Fix a typo in a comment. * pinfo.cc (clearout): Remove this function. Handled in allocate_pid. (pinfo_init): Move start_time setting here from dll_crt0_1. Remove call to init_self in favor of adding three additional lines of code. (pinfo_list::operator []): Implement a very simple hashing scheme for pid lookup. (lpfu): New routine controlled by DEBUGGING conditional. When DEBUGGING is activated, lpfu returns more information about the state of a timed out pinfo_mutex. (pinfo_list::get_empty_pinfo): Remove function. Move functionality to allocate_pid. (allocate_pid): Implement a (very) simple hashing scheme for finding an available pid. Take advantage of reorganized pinfo structure to zero all pertinent fields with one memset. (pinfo::record_death_nolock): Don't bothering zeroing inconsequential stuff. (pinfo::record_death): Leave pinfo_mutex locked with the understanding that this function will be called just prior to exiting the process. This minimizes a race between a child which is exiting at nearly the same time as its parent. * sigproc.cc: Reformat function calls. (sigproc_init): Clear new PID_INITIALIZING flag to indicate that a (possibly execed) process is now capable of receiving signals. (sig_send): Be more defensive in determining if a signal can be sent to myself or suffer problems with execed processes. (sigproc_terminate): Wait for sig_proc to exit to ensure that all pending signals have been handled. Use new 'proc_terminate' function to terminate the subprocess handling thread. (allow_sig_dispatch): Don't bother blocking signals if signal handling isn't active in this process yet. (block_sig_dispatch): Don't bother blocking signals if signal handling isn't active in this process yet. (sig_proc): Use sig_loop_wait variable to control wait time for signal semaphores. Uncouples this wait from wait_subproc. Perform signal cleanup here on thread termination. (proc_exists): More accurate tests to determine if a process really exists. (proc_register): Remove this function in favor of a macro. (proc_subproc): More stringent test for being "ready" to process subprocesses. Add more common initialization to PROC_ADDCHILD. Remove PROC_EXIT in favor of a separate function. (proc_terminate): New function. Replaces PROC_EXIT functionality in proc_subproc. Terminates subproc handler thread. (stopped_or_terminated): use lock_pinfo_for_update when modifying child stopsig status or suffer a race. (wait_subproc): Save sig_proc thread handle away for synchronization when exiting. Set up 'i_am_alive' mutex inherited by childen. Child's inability to lock this mutex means that the parent is still alive and processing children. Use proc_loop_wait to control WFMO. Clean up events queue on thread exit. (zap_subproc): Clear out pinfo structure for a child. * sigproc.h: Remove PROC_EXIT constant. Remove obsolete proc_register declaration. (alive_parent): New macro to determine if a parent is still alive. * spawn.cc (spawn_guts): Fix a comment typo. Use proc_terminate to terminate all subprocess handling prior to an exec. Use new method for determining if this process was started via a fork. Attempt to clean up races between execed process, its parent, and the execed child. * winsup.h (pinfo): Add a new handle indicating that a parent is alive. This should be a foolproof way of determining if a parent has gone away so that a child will know whether to remove itself from the pinfo table. Reorganize the structure in such a way that items to be zeroed are grouped together at the beginning for more efficient zeroing in allocate_pid. Add a new PID_* constant. New lock_pinfo_for_update macro for use when debugging cygwin.Wed Dec 10 00:05:23 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): Change the way to inherit fd table on spawn/exec calls. Use STARTUPINFO structure to pass an fd table to a child process instead of shared memory area. This is undocumented, but is used by MSVC runtime. The desktop inheritance code added again, otherwise user32.dll will fail to initialize after sexec calls. * pinfo.cc (pinfo_init): delinearize fd array from STARTUPINFO structure instead of call to copy_shared_fd_table. * shared.cc (create_shared_fd_mapping_name): remove (create/copy_shared_fd_table): remove * spawn.cc (spawn_guts): use lp(cb)Reserved2 fields of STARTUPINFO to pass fd table to a child. Remove call to create_shared_fd_table. Inherit window station/desktop on sexec calls. * winsup.h: remove prototypes for create/copy_shared_fd_table.Fri Dec 5 18:57:42 1997 Geoffrey Noer <noer@cygnus.com> patch from cgf@bbc.com (Chris Faylor): * kill.cc (main): Report error if kill() fails. Minor reformat. * ps.cc (main): Only use month/day in start time when starting time is > 24 hours in the past, not when it occurs yesterday.Fri Dec 5 15:54:41 1997 Geoffrey Noer <noer@cygnus.com> * fcntl.cc (_fcntl): reformat * fhandler.cc (fhandler_tty::open): new, need special open for ttys. In addition to calling fhandler_base::open, check flags to handle blocking vs. non-blocking I/O. Should initialize tty to standard state (9600 bits/sec - 8 - 1 with no flow control) but this code needs more work still. Ifdef out for now. (fhandler_tty::tcsendbreak): new (fhandler_tty::tcdrain): new (fhandler_tty::tcflow): new (fhandler_tty::tcsetattr): add support for action arg. Use a DCB struct to hold the values we will set. First call GetCommState to get the current state, then reassign values based on the contents of the termios struct. Handle the case where t->c_ospeed is set to B0, otherwise set state.BaudRate. Set all the other DCB struct values appropriately, based on the contents of the termios struct. (fhandler_tty::tcgetattr): do the inverse of tcsetattr. Call GetCommState to get the current state and use this to set the appropriate termios struct values. * termios.cc: reformat (tcsendbreak): implement -- add duration arg, call fhandler tcsendbreak as appropriate (tcdrain): implement -- call fhandler tcdrain as appropriate (tcflow): implement -- call fhandler tcflow as appropriate * fhandler.h: add new tc* protos * include/sys/termios.h: correct values of iflag bits, define CRTSXOFF and CRTSCTS, CBAUD, B57600 and B115200. Add protos for tc* functions.Wed Nov 26 17:06:17 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): * spawn.cc (perhaps_suffix): resolve symlinks to .exes.Mon Nov 24 17:10:49 1997 Geoffrey Noer <noer@cygnus.com> * cygwin.din: remove crypt * syscalls.cc (crypt): remove crypt stubSun Nov 23 17:34:42 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin):
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -