?? changelog-1997
字號:
initialization of signal/sub process handling. Change to use new process_state field in pinfo. (_exit): Remove spurious debugging statement. Terminate sigproc processing. Remove signal blocking obviated by previous signal termination. Remove SIGCHLD notification of parent as it is now handled automatically in the parent. (api_fatal): Terminate sigproc processing. * exceptions.cc: Add new sigproc.h include. Change name of ourhThread. (ctrl_c_handler): Change to static as this is no longer called outside of this module. (lock_cs): Change to a function which will optionally grab new signal dispatch mutex. Don't wait forever for cs mutex. (unlock_cs): Change to a function which will optionally release new signal dispatch mutex. (init_exceptions): Detect errors from SetConsoleCtrlHandler. Initialize new sig_dispatch mutex. This mutex is used to control dispatching to a function on signal receipt. (sig_dispatch_pending): New function. Called from signal processing thread to dispatch pending signals. (set_process_mask): Block signal dispatch during setting of new mask, if possible. Contact signal thread to dispatch pending signals. (handle_sigsuspend): New function. Attempts to implement a sigsuspend which will not lose signal notification. Called from sigsuspend. (call_handler): Use sigproc_printf where appropriate. (ctrl_c_handler): Use _raise to invoke the correct signal. (sighandle): New function. Subsumes most of ctrl_c_handler. Change to mark as suspended signals which would dispatch for which the sig_dispatch mutex is unavailable. Use sigproc_printf where appropriate. (events_init): Remove application_stopped mutex made obsolete by new sigproc handling. (events_terminate): Remove application_stopped mutex made obsolete by new sigproc handling. * fork.cc: Add new sigproc.h include. (cygwin_fork_helper1): Use process_state field in pinfo (replaces inuse_p). Call proc_register to add a new subproc to sigproc handling. Call sigproc_init for new subprocess. Remove obsolete window_init. * heap.cc (_sbrk): Use process_state field in pinfo (replaces split_heap_p). * hinfo.cc (hmap_init): Use process_state field in pinfo (replaces cygwin_parent_p). * include/sys/strace.h: Add tracing for signal/subprocesses. * init.cc: Add new sigproc.h include. Add waitq_storage global for new sigproc handling. (dll_entry): Add initialization, destruction of structures needed by new sigproc handling. * net.cc (fhandler_socket::ioctl): Use gethwnd() function to find hwnd of hidden window. * pinfo.cc: Add new sigproc.h include. (pinfo::clearout): Use process_state field in pinfo (replaces split_heap_p). Explicitly initialize various handles to NULL. (pinfo_init): Use process_state field in pinfo (replaces cygwin_parent_p). (pinfo_list::operator): Use process_state field in pinfo (replaces inuse_p). (pinfo_list::alocate_pid): Initialize process_state field. (pinfo::init_self): Remove obsolete initialization of hProcess. (pinfo::record_death_nolock): Changes for new sigproc handling. (pinfo::record_death): Move bulk of this code to sigproc.cc. (pinfo::terminate): Remove function made obsolete by sigproc handling. (pinfo::init_from_exec): Use process_state field (replaces inuse_p). * signal.cc: Add new sigproc.h include. (kill_worker): Call new sig_send function to send signals to cygwin processes. (_kill): Use process_state field in pinfo (replaces inuse_p). (sigsuspend): Call handle_sigsuspend in exceptions.cc to handle sigsuspend in a non-raceable way. * sigproc.cc: New signal/subprocess handling module. Replaces SendMessage method for signals with a method using semaphores. Also detects changes in the state of child processes. * sigproc.h: New header file defining constants and functions for signal/subprocess handling. * spawn.cc: Add new sigproc.h include. Clean up trailing spaces. (spawn_guts): Reorganize to use new sigproc handling. Use new pinfo process_state field (replaces inuse_p). * syscalls.cc (_read): Use new pinfo process_state field (replaces inuse_p). (_write): ditto. * tty.cc (tty_init): Use new pinfo process_state field (replaces cygwin_parent_p). * utils/ps.cc (main): Use new pinfo process_state field (replaces inuse_p). Detect "zombie" processes similarly to UNIX ps. * wait.cc: Add required includes. (wait_found): Function obsoleted by new sigproc handling. (wait4): Reorganize to use new sigproc handling. * window.cc: Changes for new sigproc handling. (WndProc): Remove SIGNAL handling obsoleted by new sigproc handling. Use static window handle since the field has been removed from pinfo. Use _raise where appropriate to send signals. (Winmain): Replace global window handle with static since the field has been removed from pinfo. (window_init): Remove obsolete function. (gethwnd): New function to allocate hidden window on demand rather than at startup. (window_terminate): Kill hidden window only if allocated. (setitimer): Use gethwnd function to retrieve hidden window handle. * winsup.h: Remove stuff made obsolete by sigproc handling. Move some constants to new sigproc.h header file. Remove inuse_p, cygin_parent_p, split_heap_p. Replace with a single process_state field. Define bit fields for process_state in an enum for easier debugging.Mon Oct 20 19:17:33 1997 Geoffrey Noer <noer@cygnus.com> * sysdef/i386/winserve.def: remove ancient version of cygwin.din * include/sgtty.h: remove since Cygwin32's tty handling doesn't support bsd syntax/semantics * include/sys/termios.h: change winsize struct to include ws_xpixel and ws_ypixel members * cygwin.din: remove export of ScreenCols, ScreenGetCursor, ScreenRows, ScreenSetCursor, get_pid__5pinfo, getkey, _getkey, kbhit, _kbhit, __small_printf = small_printf__FPCce * key.cc: remove. Similar functionality exists in ncurses which can be compiled for Cygwin32 * console.cc (ScreenCols, ScreenGetCursor, ScreenSetCursor, ScreenRows): delete and delete SCREEN_ROWS/COLS defines * pold.c: remove old pipe-related code that's no longer used * include/regex.h: remove, it's not a part of cygwin.dll * syscalls.cc: started to add comments including standards information (truncate): new (ftruncate): length is an off_t, not a size_t. Add missing return value to debug printf * syscalls.h: ftruncate length is an off_t, add proto for truncate patch from cgf@bbc.com (Chris Faylor): * console.cc (fhandler_console::write): Recognize '@' as a valid character to follow a '\e[' sequence or get 'Bad escape' errors.Wed Oct 15 18:44:25 1997 Geoffrey Noer <noer@cygnus.com> * cygwin.din: restore __main as an exportMon Oct 13 18:41:09 1997 Geoffrey Noer <noer@cygnus.com> * cygwin.din: revert renaming of __assert since that's actually what it's supposed to be called * assert.cc: dittoFri Oct 10 19:25:49 1997 Tom Tromey <tromey@cygnus.com> * include/Windows32/Base.h: Moved typedefs of CHAR, SHORT, etc, before all other uses in file.Fri Oct 10 17:50:12 1997 Ian Lance Taylor <ian@cygnus.com> * include/Windows32/Base.h: Only typedef CHAR, SHORT, and LONG if VOID is not definedThu Oct 9 00:46:40 1997 Geoffrey Noer <noer@cygnus.com> * cygwin.din: remove all libgcc.a exports. They don't belong here since libgcc.a doesn't really relate to the purpose of cygwin.dll, and (to make things worse) the contents change over time. * assert.cc: rename __assert to __cygwin32_assert * exceptions.cc: rename __stack_trace to __cygwin32_stack_trace, __cygwin_except_handler to __cygwin32_except_handler * version.h: increment major and minor numbersTue Oct 7 12:52:25 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): * dcrt0.cc (_exit): under Win 95, don't send SIGCHLD unless special env variable is set. This works around a problem where exiting a process can hang under Win 95.Mon Oct 6 23:41:34 1997 Geoffrey Noer <noer@cygnus.com> * regexp: new directory containing free regexp code by Henry Spencer. Taken from the most recent release of NetBSD. Write configure.in and Makefile.in, based on files from winsup/utils. * Makefile.in: build regexp directory and include objs in cygwin.dll. * stubs.cc: remove all reg* stubs except for regfree which isn't provided by above code.Mon Oct 6 13:35:48 1997 Geoffrey Noer <noer@cygnus.com> * dcrt0.cc: remove asm idata3 terminator, now that ld is fixed such that this is no longer necessary. * libccrt0.cc: dittoMon Oct 6 13:14:00 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): * spawn.cc (spawn_guts): return child's PID on spawn (_P_NOWAIT,...) instead of child's handle. (cwait): rewritten as a wrapper to waitpid.Mon Oct 6 13:02:01 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): * net.cc (socketpair): new * cygwin.din: add socketpair exportMon Oct 6 13:01:51 1997 Geoffrey Noer <noer@cygnus.com> patch from cgf@bbc.com (Chris Faylor): * dcrt0.cc: Remove obsolete call to fork_terminate. * exceptions.cc: Respace, remove extraneous trailing whitespace. Change critical section to mutex since there are supposedly multi-processor problems with critical sections under NT. Use "lock_cs" and "unlock_cs" macros to lock/unlock critical regions. (init_exceptions): Change critical section initialization to mutex initialization. (set_process_mask): Use locking macros to control access to sig_mask. (ctrl_c_handler): Use lock_cs/unlock_cs to control access. (events_init): Use standard cygname function to create names for shareable objects. (events_init): Close cs mutex. * fork.cc: Use event flags which are specific to the child being forked. This prevents one process from prematurely activating another. It also makes fork slightly more thread-safe. (fork_init): Remove event initialization. (fork_terminate): Remove function. (cygwin_fork_helper1): Initialize events on a per-fork basis. Events are inherited in child's pinfo structure. Remove child->hThread initialization as it not needed. Use pi.hThread where child->hThread is used. Work around Windows 95 bug where a WaitForSingleObjects will sometimes return ERROR_INVALID_HANDLE when it is resumed after a suspend. * pinfo.cc: Remove references to hThread field whereever it occurs. * strace.cc: Use standard cygname function to create name for strace_mutex. Prevents confusion between different .dll versions. * wait.cc (wait_found): Remove reference to hThread. * winsup.h (class pinfo): Remove reference to hThread. Add per-process fork control event handles. * include/limits.h: Increase NGROUPS_MAX from 0 to 1 to reflect recent change to getgroups.Mon Oct 6 11:06:22 1997 Geoffrey Noer <noer@cygnus.com> Oops. ../libio refers to objdir and is not the same as $(srcdir)/../libio.Thu Oct 2 23:12:19 1997 Geoffrey Noer <noer@cygnus.com> Revert patches to sources applied after Sept 16. Removed relevant portions of ChangeLog entries. Some of those changes may reappear later (removing the entries makes this log easier to understand).Thu Oct 2 15:34:03 1997 Geoffrey Noer <noer@cygnus.com> * Makefile.in: remove hardcoding of SHELL to /bin/sh, remove ../libio from INCLUDES since $(srcdir)/../libio is already included. * glob/Makefile.in: remove hardcoding of SHELL to /bin/shMon Sep 29 14:06:24 1997 Geoffrey Noer <noer@cygnus.com> patch from sos@prospect.com.ru (Sergey Okhapkin): * cygwin.din: add exports for rcmd, rresvport, rexec * net.cc (cygwin32_rcmd): new (cygwin32_rresvport): new (cygwin32_rexec): new * include/mywinsock.h: add protos for Winsock calls associated with functions called by the above.Mon Sep 29 13:26:24 1997 Geoffrey Noer <noer@cygnus.com> patch from cgf@bbc.com (Chris Faylor): * grp.cc (getgrent): Change overlooked comment to reflect new behavior.Thu Sep 25 18:35:49 1997 Geoffrey Noer <noer@cygnus.com> * Makefile.in: remove debugdll defs since the shared memory overlap problem is solved by the timestamp addition of Sept 23 * version.h: rework explanations of version numbersThu Sep 25 16:21:49 1997 Geoffrey Noer <noer@cygnus.com> * spawn.cc: add missing cast to debug printfThu Sep 25 16:14:17 1997 Ian Lance Taylor <ian@cygnus.com> * path.cc (conv_to_win32_path): Call backslashify on a win32 path.Tue Sep 23 17:58:17 1997 Geoffrey Noer <noer@cygnus.com> Fixes for things that were causing compile-time warnings:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -