| Thu Dec 31 16:50:32 1998 DJ Delorie <dj@cygnus.com> |
| |
| * mmap.cc: replaced all references to libstdc++ templates with |
| inline classes to remove build dependency on libstdc++ |
| |
| Thu Dec 31 00:02:40 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * sysdef/uuid.def: remove useless stub. |
| * sysdef/oldnames.def: ditto. |
| * sysdef/largeint.def: ditto. |
| * sysdef/rpcndr.def: ditto. |
| |
| Wed Dec 30 20:33:09 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/cygcheck.cc: clean up misc. warnings relating to |
| signed vs. unsigned, char * vs. const char *, etc... |
| |
| Wed Dec 30 21:41:25 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (do_exit): Remove previous dwProcessId |
| change as it presumes too much knowledge about signalling |
| in the wrong place in the code. |
| * sigproc.cc (sigproc_terminate): Move the dwProcessId |
| assignment here but only do it when it is necessary or |
| programs will die abnormally. |
| * fhandler.h: Add raw_write method to fhandler_serial. |
| * fhandler_serial.cc (raw_write): New method. Accommodates |
| overlapped I/O that now must be used with serial. |
| * utils/kill.cc (main): Allow `0' signal. Just checks |
| for existence of process. |
| |
| Wed Dec 30 00:01:18 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin/version.h: bump API_MINOR to 8 to mark |
| recently exported _ctype_, _sys_errlist, _sys_nerr. Briefly |
| describe all API_MINOR changes to date. |
| |
| Wed Dec 30 01:31:34 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (do_exit): Set myself->dwProcessId so that |
| some exit routines will not falsely believe that this |
| process has been execed. |
| * select.cc (peek_serial): Remove debugging statements. |
| * sigproc.cc (sigproc_terminate): Detect state where |
| myself->dwProcessId == 0 as indicative of not being |
| an exec stub. |
| |
| Tue Dec 29 21:13:33 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (alloc_stack_hard_way): Fix a couple of thinkos |
| in calculating size of the new stack. Just use the size |
| passed from the parent. |
| (dll_crt0_1): Set up new frame pointers here, if appropriate. |
| * fork.cc (fork): Move frame pointer setup into dll_crt0_1. |
| |
| Tue Dec 29 12:57:38 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/mkpasswd.c: Include wchar.h. |
| * utils/mkgroup.c: Ditto. |
| |
| Tue Dec 29 12:53:23 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: remove dep for libcerr.o |
| |
| Mon Dec 28 22:02:15 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h: Make fhandler_serial io_status public since |
| select needs it. Add 'saw_error' field to select_record so |
| that select can detect error conditions. |
| * fhandler_serial.cc (fhandler_serial::raw_read): Detect |
| "operation aborted" error and retry. This seems to indicate |
| an attempt to retry an overlapped operation. |
| * select.cc (select_stuff::wait): Honor saw_error field when |
| appropriate. |
| (peek_serial): Rewrite to operate similarly to |
| fhandler_serial::raw_read. |
| * include/sys/termios.h: CBAUD mask was still not right. |
| |
| Mon Dec 28 09:09:27 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * libcerr.cc: Make obsolete. Move into errno.cc |
| * libctype.c: Make obsolete. Use newlib table. |
| * Makefile.in: Remove obsolete entries from LIBCOS. Define |
| __INSIDE_CYGWIN__ explicitly for .c -> .o compilation. |
| * cygwin.din: New exports: _ctype_, _sys_errlist, _sys_nerr. |
| * errno.cc: Move _sys_errlist and _sys_nerr here. |
| * dlfcn.cc: Reorganize includes to put ctype.h after winsup.h |
| so that __INSIDE_CYGWIN__ will be defined for use in ctype.h. |
| * fhandler_console.cc: Ditto. |
| * fhandler_tty.cc: Ditto. |
| * path.cc: Ditto. |
| * spawn.cc: Ditto. |
| |
| Sat Dec 26 00:20:48 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * include/Windows32/CommonFunction.h: Added proto for |
| NetUserChangePassword(). |
| |
| Thu Dec 24 16:15:40 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): Add more debugging output. |
| * ioctl.cc (ioctl): Can't use TC[GS]ET ioctls for pty master as |
| it conflicts with TIOCPKT. |
| * passwd.cc (passwd): Bypass tc[gs]etattr call in favor of appropriate |
| method or conversion confusion will result due to attempts to |
| appropriately convert to old-style termios structures in tc[gs]etattr. |
| * strace.cc (strace_vsprintf): Define t explicitly. |
| * termios.cc (tcsetattr): Reorganize to allow meaningful debugging |
| output. |
| (tcgetattr): Ditto. |
| |
| Wed Dec 23 15:02:11 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * winsup.h: Reorganize include order to allow thread-safe build. |
| |
| Wed Dec 23 11:45:33 1998 DJ Delorie <dj@cygnus.com> |
| |
| * strace.cc (strace_microseconds): new function; returns elapsed |
| time in microseconds, using performance counters if available. |
| (strace_vsprintf): print timestamps and deltas as microseconds, |
| not seconds. |
| |
| Wed Dec 23 11:35:02 1998 DJ Delorie <dj@cygnus.com> |
| |
| * times.cc (__to_clock_t): Change return value to unsigned long |
| long to prevent overflow. |
| |
| Tue Dec 22 19:37:55 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h: Reflect fhandler_*::init argument reordering. |
| Add dup and init methods to fhandler_serial. |
| * fhandler.cc (fhandler_base::init): Reorder arguments to mirror |
| open(). |
| * fhandler_console.cc (fhandler_console::init): Ditto. Initialize |
| using fhandler_base rather than fhandler_serial as console is |
| now being slowly uncouple from fhandler_serial. |
| * fhandler_serial.cc (fhandler_serial::fhandler_serial): Set size |
| of data structure or suffer strange behavior on exec(). |
| (raw_read): Add debugging output. |
| (fhandler_serial::init): New method. |
| (fhandler_serial::open): Detect call from init method and avoid |
| calling fhandler_base::open. Don't worry about non-blocking reads |
| since they are now handled correctly by _read(). |
| (fhandler_serial::tcsetattr): Honor ICANON in a kludgey sort of way. |
| (fhandler_serial::tcgetattr): Ditto. |
| (fhandler_serial::dup): New method. Ensures duplication of all |
| elements of fhandler_serial class. |
| * fhandler_tty.cc (fhandler_tty_master::init): Reflect init argument |
| reordering. |
| (fhandler_tty_slave::init): Ditto. |
| * hinfo.cc (hinfo::init_std_file_from_handle): Remove unnecessary |
| argument. |
| (hinfo_init): Reflect change to init_std_file_from_handle. |
| (cygwin_attach_handle_to_fd): Use more appropriate types for |
| arguments. |
| (hinfo::build_fhandler): Add some slop to allocated buffer just |
| for paranoia's sake. |
| (hinfo::dup2): Avoid dereferencing a NULL pointer when oldfd==newfd. |
| * pipe.cc (make_pipe): Reflect init argument change. |
| * shared.h: Another immigrant from winsup.h |
| * winsup.h: Reflect change to init_std_file_from_handle. Relocate |
| a declaration to shared.h so that it can be used in fhandler.h. |
| * include/sys/cygwin.h: Reflect change to cygwin_attach_handle_to_fd. |
| |
| Mon Dec 21 16:22:48 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::open): Detect serial device as a special |
| case requiring an overlapped open. |
| * fhandler.h (fhandler_serial): Add several methods. Add new 'fixup after |
| fork required' field. |
| * fhandler_serial.cc (raw_read): Rewrite to come closer to handling VMIN |
| VTIME parameters and to allow EINTR. |
| (fhandler_serial::open): Initialize overlapped event here. Make error |
| messages more explicit. |
| (fhandler_serial::close): Close status event. |
| (fhandler_serial::tcsetattr): Store vtime_ as milliseconds. Attempt to |
| handle VMIN > 0, VTIME == 0 better. |
| (fhandler_serial::fixup_after_fork): Initialize a new event handle after |
| a fork. |
| (fhandler_serial::de_linearize): Ditto. |
| * hinfo.cc (hinfo::fixup_after_fork): Call fork fixer upper if close_on_exec |
| of need_fork_fixup set. |
| |
| Sun Dec 20 16:05:25 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/shellapi.h: replace with stub that includes windows.h |
| like similar headers already do. |
| * scandir.cc (scandir): add parens around assignment used as truth |
| value. |
| |
| Sat Dec 19 00:42:44 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * thread.cc: Fix copyright info. |
| * thread.h: Ditto. |
| * libcmain.cc: gcc is now more picky about requiring a type |
| for main(), so add one. |
| * include/pthread.h: Add attribution for net contributor. |
| |
| Fri Dec 18 19:21:30 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * pthread.cc: fix copyright header. |
| * shared.h: ditto. |
| |
| Fri Dec 18 19:21:30 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * cygwin.din: export scandir and alphasort. |
| * Makefile.in: add scandir.o to deps |
| * scandir.cc: New file with scandir and alphasort implementations. |
| * include/cygwin/version.h: bump API_MINOR to 7. |
| |
| Fri Dec 18 16:44:07 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/pthread.h: clean up, remove C++-style comments, |
| remove pthread_getsequence_np proto. |
| |
| Fri Dec 18 15:26:33 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout, prepend cygwin_ to functions that are exported |
| as cygwin_* which previously needed to be aliased. |
| |
| * path.cc (cygwin_conv_to_win32_path): Resolve symbolic links. |
| Return success or failure value. |
| (cygwin_conv_to_full_win32_path): Ditto. |
| (cygwin_conv_to_posix_path): Return success or failure value. |
| (cygwin_win32_to_posix_path_list): Ditto. |
| (cygwin_posix_to_win32_path_list): Ditto. |
| * shared.h: New include file that incorporates parts of |
| winsup.h, fhandler_tty.h, path.h, and delqueue.h. |
| * Makefile.in: Remove old include files. |
| * cygwin.din: cygwin_* aliases are no longer required. |
| * libccrt0.cc: Store api_minor in per_process structure. |
| * select.cc: Change meaning of second argument to ready_for_read |
| to indicate whether read_ahead should be ignored. |
| * fhandler.h: Reflect change in second argument to ready_for_read. |
| * syscalls.cc (_read): Ditto. |
| * termios.cc: Throughout, detect attempt to use old style termios |
| structure and convert as appropriate. |
| * ioctl.cc (ioctl): Detect use of ioctl requiring termios field |
| and call appropriate tc[gs]et* function to handle it. |
| * fhandler_console.cc (fhandler_console::ioctl): Remove TC* calls |
| that are now handled in main ioctl. |
| * fhandler_tty.cc (fhandler_tty_slave::ioctl): Ditto. |
| * include/cygwin/version.h: Added TERMIOS defines. Bump API_MINOR |
| to 6. |
| * include/sys/cygwin.h: Reflect change in return value for some |
| cygwin_conv_* calls. |
| * include/sys/termios.h: Reformat slightly. Add conversion macros |
| for dealing with old style termios structure. |
| * include/pthread.h: add |
| |
| Fri Dec 18 15:03:33 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Cleanup pthread usage. |
| |
| Fri Dec 18 14:35:59 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Remove obsolete header dependency for |
| thread-safe build. |
| |
| Fri Dec 18 14:16:04 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (sig_handle): Avoid suspending top-level |
| processes. |
| * trace.cc: Remove unneeded include. |
| |
| Thu Dec 17 19:19:53 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove pthread_getsequence_np, _reent_clib |
| |
| Thu Dec 17 16:48:15 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin/version.h: correct two typos in comments |
| |
| Thu Dec 17 19:11:31 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * include/Windows32/Defines.h: Add values for using Windows |
| function `DeviceIoControl()'. |
| |
| Thu Dec 17 18:00:34 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): exception_list is not a struct. |
| * debug.cc (thread_stub): Ditto. |
| |
| Thu Dec 17 08:24:37 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din: Remove leading underscores from pthread functions. |
| * include/cygwin/version.h: Bump DLL major version to 21, DLL minor |
| version to 0, and API_MINOR to 5. |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Merge in thread-safe branch changes. |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * pthread.cc: Include winsup.h. |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * thread.cc: Reformat. |
| * pthread.cc: New file. |
| * cygwin.din: Add pthread interface functions |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * configure.in: Add some --enable options. |
| * configure: Regenerate. |
| * Makefile.in: Reorganize CFLAGS to recognize new --enable options. |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (stack_base): Store slightly different information |
| in child_info_fork structure for later use in alloc_stack_hard_way. |
| (fork): Set frame pointer information if stack has been reallocated. |
| * dcrt0.cc (alloc_stack_hard_way): Reflect change in |
| child_info_fork structure. |
| (dll_crt0_1): Make thread initializers "static" and NO_COPY or death |
| of the main thread causes death of other threads. |
| * winsup.h (child_info_fork): Change structure. |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * thread.h: Remove extraneous declaration. |
| * include/sys/strace.h: Make a new thread_printf function |
| for use by new thread-safe code. |
| * thread.cc: Use thread_printf throughout. |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Marco Fuykschot (marco@ddi.nl) |
| * Throughout sources add locking control for preliminary |
| thread-safe cygwin operation. |
| |
| Wed Dec 16 22:54:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (getprogname): Should be a static. |
| (alloc_stack): Extend to allow forking from another |
| thread. |
| (alloc_stack_hard_way): New function used by alloc_stack. |
| (dll_crt0_1); Don't pass parameters since stack may be |
| "funny". Use statics instead. Move fork/spawn checking |
| into dll_crt0. |
| (dll_crt0): Do fork spawn checking here. alloc_stack() |
| will call dll_crt0_1 if forked from a non-main thread. |
| * fork.cc (stack_base): New function determines base |
| (and other values) of this thread's stack. |
| (fork): Use new PROC_FORK1 method for forking. Provides |
| more data to forkee. Use stack_base to set stack |
| values. |
| * winsup.h (child_info_fork): Changes for PROC_FORK1. |
| |
| Wed Dec 16 16:15:29 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/shellapi.h: fix typo in DragQueryPoint proto. |
| |
| Mon Dec 14 12:37:43 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * net.cc: minor respacing |
| (get_ifconf): new local function, combines get_winnt_ifconf and |
| get_win95_ifconf. |
| (get_win95_ifconf): delete |
| (get_winnt_ifconf): delete |
| (fhandler_socket::ioctl): adjust ifconf calls in light of above, |
| check returned value for safety. |
| * include/cygwin/version.h: bump CYGWIN_VERSION_API_MINOR to 4 |
| in honor of newly supported socket ioctls. |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * include/asm/socket.h: Added defines for ioctl() calls |
| SIOCGIFADDR, SIOCGIFBRDADDR and SIOCGIFNETMASK. |
| * net.cc (get_winnt_ifconf): Check the registry entries |
| instead of just calling get_win95_ifconf(). Added what argument |
| to support the new ioctl() calls. |
| (get_win95_ifconf): Check the Windows 9x registry entries as |
| described by Tim Newsham. |
| (fhandler_socket::ioctl): Support the ioctl() commands |
| SIOCGIFADDR, SIOCGIFBRDADDR and SIOCGIFNETMASK. |
| (get_if_flags): Check for a down interface. |
| |
| Wed Dec 9 18:11:31 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.cc (fhandler_disk_file::open): check for shell scripts |
| regardless of Win32 OS type. |
| |
| Sun Dec 6 19:38:11 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * fhandler_console.cc (fhandler_console::tcgetattr): Fix typo. |
| ISIG should be ored with c_lflag. |
| |
| Tue Dec 1 16:28:56 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/utmp.h: delete, moved to newlib/libc/sys/cygwin/sys. |
| |
| Thu Dec 3 15:41:51 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Released 20.1 update. |
| |
| Thu Dec 3 22:24:18 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (set_process_mask): Add `sync' parameter |
| to control whether signals should be synched on exit. |
| (handle_sigsuspend): Provide second argument to set_process_mask - |
| don't sync. |
| (call_handler): Ditto for asm handler. |
| * signal.cc (sigprocmask): Ensure that signals are synchronized |
| by calling set_process_mask with sync == 1. |
| * sigproc.cc (__release_signal_mutex): Third argument is not |
| strictly a BOOL, so change it. |
| * sigproc.h: Reflect above parameter changes. |
| |
| Thu Dec 3 15:30:44 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (peek_console): Work around NT bug that |
| caused strange behavior with ReadFile after this |
| function was invoked. |
| |
| Tue Dec 1 14:43:35 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.cc (sigproc_init): Set maintid and signal_mutex early |
| to avoid races in wait_sig initialization. |
| (__get_signal_mutex): Improve debug output. |
| (__release_signal_mutex): Ditto. |
| * spawn.cc (spawn_guts): Allocate more space for string when building |
| up from #! and absolute path is not known. Otherwise weird stuff |
| like infinite recursion or unknown file errors occur. |
| |
| Tue Dec 1 08:34:18 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * mkvers.sh: Accommodate lack of timezone in date output so that |
| year shows up correctly. |
| |
| Mon Nov 30 14:30:51 1998 Jeff Johnston <jjohnstn@cygnus.com> |
| |
| * times.cc (times): Altered function so that on non-Windows-NT systems |
| it does not use the GetProcessTimes() API which is not supported. |
| |
| Mon Nov 30 00:38:54 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc: Fix incorrect use of struct on exception_list |
| typedef. |
| * debug.cc (thread_stub): Ditto. |
| * dll_init.cc: Ditto. |
| * include/Windows32/Structures.h: Correct typo where |
| typedef SYSTEM_POWER_STATUS was being used as a struct. |
| |
| Sun Nov 29 22:03:17 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * fhandler_console.cc (fhandler_console::ioctl): |
| Added ioctl commands TCGETA, TCSETA, TCSETAW, TCSETAF. |
| |
| Fri Nov 27 22:30:58 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h: Set aside NOEINTR bit. When this is set |
| cygwin will not allow the read on this device to be |
| interrupted by a signal. |
| * pipe (_pipe): Set NOEINTR bit for read end of pipes |
| created using this method. The vague rationale for this |
| is that these pipes are supposed to be more like Windows |
| pipes than UNIX pipes. |
| * syscalls.cc (_pipe): Honor NOEINTR flag. |
| * getopt.c: Clean up some gcc warnings. |
| * libcerr.c: Ditto. |
| |
| Fri Nov 27 21:56:03 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (SIG_NONMASKABLE): Update for new signal |
| mask method. |
| (handle_sigsuspend): Release of signal mutex must be |
| synchronous -- the signal must be delivered before the |
| function returns. Otherwise, there will be races in |
| the caller code. |
| * sigproc.cc (sigproc_terminate): Minor cleanup. |
| |
| Thu Nov 26 20:26:17 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (call_handler): Attempt to work around |
| potential race when setting signal_arrived. This |
| particularly affects sigsuspend. |
| (handle_sigsuspend): Reset signal_arrived prior to |
| grabbing the mutex. This should reduce the probability |
| of a race. |
| * sigproc.cc (sig_send): Don't reset signal_arrived in |
| the SIGSUSPEND case since this could introduce a race. |
| |
| Thu Nov 26 12:19:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * select.cc (MAKEready): Don't wait for signal prior to |
| testing for read. That introduces an unnecessary delay. |
| |
| Wed Nov 25 23:03:47 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * winsup.h: Make `isdirsep' an alias for SLASH_P. |
| Implement isabspath convenience macro. |
| Change sigprotect to a macro since it appears to |
| be impossible to send __FILE__ type macros to a |
| constructor. Change use of sig_protect throughout. |
| * dcrt0.cc (dll_crt0_1): Use new path macro. |
| * dlfcn.cc (get_full_path_of_dll): Ditto. |
| * path.cc (path_conv::path_conv): Ditto. |
| (normalize_posix_path): Ditto. |
| (slashify): Ditto. |
| (backslashify): Ditto. |
| * syscalls.cc (num_entries): Ditto. |
| * lock.cc: Redefine lock methods to pass debug info to |
| {get,release}_signal_mutex. |
| * environ.cc (environ_init): Correct strncmp test for |
| TERM=, otherwise it's impossible to set TERM. |
| * exceptions.cc: Eliminate lock_cs and unlock_cs macros. |
| Use {get,release}_signal_mutex throughout. |
| (signal_init): Don't initialize signal_mutex here. |
| (set_process_mask): Remove vestiges of old mutex code. |
| (handle_sigsuspend): Ditto. |
| (call_handler): Move signal_arrived SetEvent back here. |
| It was being triggered too often before. |
| Detect when the signal thread is exiting. |
| (sig_handle): Remove inappropriate SetEvent(signal_arrived). |
| (events_terminate): Move close of signal_mutex elsewhere. |
| * glob.cc: Increase "MAXPATHLEN" size for arguments that |
| are not necessarily pathnames. |
| * pinfo.cc (lpfu): Lower timeout for reporting possible |
| problem with INFINITE wait. |
| * sigproc.cc (wake_wait_subproc): Make this a macro with |
| no arguments so that its use in the code is a little |
| clearer. |
| (proc_terminate): Eliminate signal blocking here since |
| this should already be handled by the caller. |
| (sigproc_init): It makes sense to initialize signal_mutex |
| here, so do so. |
| (__allow_sig_dispatch): Rename. Take debugging arguments. |
| Pass arguments on to release_signal_mutex. |
| (__block_sig_dispatch): Rename. Take debugging arguments. |
| Pass arguments on to get_signal_mutex. Detect signal |
| thread exiting confition. |
| (__get_signal_mutex): Take debugging arguments. Maintain |
| a stack of nested mutex calls for later display in |
| __release_signal_mutex. Detect signal thread exit |
| condition. Don't bother with locking if signal thread is |
| executing or if just an exec stub. |
| (__release_signal_mutex): Don't bother with locking if signal |
| thread is executing or if just an exec stub. |
| * sigproc.h: Reflect renamed functions above. Provide |
| wrappers to pass in diagnostic information. |
| * spawn.cc (spawn_guts): More fixes to deal with nested |
| #! and to properly report posix argv[0] when invoked as a |
| script. |
| |
| Wed Nov 25 12:41:12 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Reinstate libwinspool.a/winspool.drv creation. |
| |
| Tue Nov 24 18:48:56 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: add CFLAGS_COMMON and CFLAGS_CONFIG to CFLAGS |
| and CXXFLAGS in FLAGS_TO_PASS. |
| |
| * include/sys/select.h: new file with select proto. Avoid |
| potential conflict with Winsock inclusion by Cygwin internals. |
| * include/sys/socket.h: remove select proto. |
| * winsup.h: define __INSIDE_CYGWIN__. Include windows.h after |
| Unix include files. |
| * include/mywinsock.h: delete file |
| * include/Windows32/Sockets.h: add ndef __INSIDE_CYGWIN__s |
| around portions that conflict with Unix definitions. This |
| yields what used to be mywinsock.h which is a blend of Unix |
| sockets and Winsock needed by Cygwin internals. |
| * exceptions.cc: define Win32_Winsock to include |
| Windows32/Sockets.h. No longer define __INSIDE_CYGWIN__. |
| * hinfo.cc: ditto |
| * net.cc: ditto |
| * select.cc: ditto |
| |
| * include/exceptions.h: change wrapper define to _EXCEPTIONS_H. |
| * include/sys/resource.h: move includes outside __cplusplus check. |
| * include/sys/wait.h: ditto. |
| |
| Sun Nov 22 23:33:19 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * sigproc.cc (__release_signal_mutex): revert Nov 3d change. |
| |
| Sun Nov 22 17:04:44 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * regexp/Makefile.in: Add additional bits necessary to |
| allow correct installation of include file. |
| |
| Fri Nov 20 17:04:48 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Set "Warn about writable strings" option in CFLAGS. |
| * fhandler_tty.h: Fix for writable strings detection. |
| * grp.cc (add_grp_line): Ditto. |
| * mkvers.sh: Ditto. |
| * path.h: Ditto. |
| * registry.cc: (reg_key::reg_key): Ditto. |
| * smallprint.c (__small_vsprintf): Ditto. |
| * tty.cc (tty::get_event): Ditto. |
| * winsup.h: Give up on read_ready_thread. Move sig_protect |
| here since it needs to use information set up after the sigproc.h |
| include. |
| * dcrt0.cc: Ditto. |
| * debug.cc (WFSO): New function. Used to ensure that |
| function shows up on stack trace. |
| (WFMO): Ditto. |
| * debug.h: Define the above. |
| * exceptions.cc (ctrl_c_handler): Record last signal |
| for signal handler. |
| * select.cc (MAKEready): New macro for constructing |
| fhandler_*::ready_for_read function. |
| (fhandler_*::ready_for_read): Use macro to construct this |
| method throughout. |
| * sigproc.cc (sig_send): Work around race on process termination |
| where the event being waited for may disappear. |
| (sigproc_terminate): #ifdef code here that attempted to deal with |
| the above condition in sig_send. |
| * sigproc.h: Move sig_protect to winsup.h. |
| * spawn.cc (perhaps_suffix): Don't return pointer into an |
| automatic variable. |
| (find_exec): Always point known_suffix to something. |
| * syscalls.cc (read_handler): Refine debug output. |
| (read_ready_thread): Delete. |
| (_read): Eliminate use of read_ready_thread. Call ready_for_read |
| directly as appropriate. |
| |
| Thu Nov 19 15:26:40 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: remove -Wunused since that's already in -Wall |
| * dlfcn.cc (check_path_access): rename winenv arg to mywinenv |
| * path.cc (symlink): change save_errno var to saved_errno |
| * spawn.cc (find_exec): rename winenv arg to mywinenv |
| (spawn_guts): rename sigprotect handle to starting_here |
| * winsup.h: remove trailing comma from process_state flags |
| enum |
| * utils/aclocal.m4: regenerate |
| * utils/configure: regenerate |
| |
| Thu Nov 19 11:16:38 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Use correct libpthread.a target when |
| thread-safe is enabled. |
| |
| Thu Nov 19 10:49:27 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv): Correct error reporting. |
| |
| Wed Nov 18 20:07:50 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/Makefile.in: remove termcap file install rule |
| |
| Wed Nov 18 18:14:18 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| More minor cleanup: |
| * environ.cc (winenv): don't define len twice. |
| * fork.cc (sync_with_parent): should NOT use rc since |
| this is a macro and that could have interfered with rc in |
| the calling function. Renamed to psync_rc. |
| * fhandler_serial.cc (fhandler_serial::open): change |
| access to myaccess since it shadows global decl. |
| * hinfo.cc: ditto throughout |
| * path.cc: ditto throughout |
| (path_conv::path_conv): change error to err. |
| |
| Wed Nov 18 16:17:58 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * profil.c: include stdio.h |
| (print_prof): comment out unused func |
| (profile_ctl): should return an int |
| |
| Wed Nov 18 16:17:58 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/ps.cc: include sys/cygwin.h, make pname buf |
| MAXPATH in size. |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * utils/ps.cc (main): converting windows paths to posix |
| paths in output. |
| |
| Wed Nov 18 15:34:46 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/wchar.h: include stddef.h. |
| |
| Wed Nov 18 17:39:15 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc (environ_init): Fix incorrect TERM= detection. |
| |
| Tue Nov 17 17:28:09 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * gcrt0.c: include stdlib.h, add proto for monstartup. |
| |
| Tue Nov 17 16:47:42 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/wchar.h: add protos for wcslen and wcscmp. |
| * syscalls.cc: minor reformat. |
| |
| Tue Nov 17 15:38:45 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::fhandler_base): Default non-disk |
| devices to binary mode. |
| * fhandler.h: Reformat slightly. |
| |
| Tue Nov 17 11:19:23 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * external.cc (fillout_pinfo): Copy progname using strcpy to |
| save on time. |
| * path.h: Add new enums for more fine-grained control |
| of path_conv. |
| * dir.cc (opendir): Use enum argument to path_conv. |
| (mkdir): Ditto. |
| (rmdir): Ditto. |
| * dlfcn.cc (get_full_path_of_dll): Ditto. |
| * fhandler.h: Add new set_readahead_valid to set actual |
| readahead. |
| * fhandler.cc (raw_read): Remove extraneous variable. |
| (fhandler_base::read): Rework to allow readahead when |
| not text mode. |
| (fhandler_disk_file::fstat): get_symlink_p() only returns |
| true/false now. |
| (fhandler_disk_file::fhandler_disk_file): Use enum argument |
| to path_conv. |
| (fhandler_disk_file::open): Ditto. |
| * spawn.cc (perhaps_suffix): Ditto. |
| * syscalls.cc (_unlink): Ditto. |
| (_link): Ditto. |
| (stat_worker): Ditto. |
| (_rename): Ditto. |
| * fhandler_serial.cc (fhandler_serial::open): Always reset timeouts. |
| * path.cc (path_conv::path_conv): Honor new enum arguments. |
| Specifically, use SYMLINK_CONTENTS for readlink interface. |
| (readlink): Use SYMLINK_CONTENTS argument to path_conv. |
| * select.cc: Rework serial support which has apparently never |
| worked. |
| |
| Mon Nov 16 16:15:20 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: FLAGS_TO_PASS should pass CFLAGS and CXXFLAGS |
| not ALL_CFLAGS and ALL_CXXFLAGS. Rework handling of CFLAGS |
| variables to remove duplication and make it possible to |
| build mingw directory. |
| |
| Mon Nov 16 09:40:21 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_open): Use new macro to check for |
| NULL or empty pathname and return appropriate error. |
| * path.cc (check_null_empty_path*): Move macro to |
| path.h. |
| * path.h: Move macros here. |
| |
| Sun Nov 15 20:23:10 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin/version.h: bump API_MINOR to 3 to mark |
| addition of dll_noncygwin_dllcrt0 to exports list. |
| |
| Sun Nov 15 23:05:21 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (check_null_empty_path): New macro. |
| (check_null_empty_path_errno): Ditto. |
| (path_conv::path_conv): Check for NULL and empty |
| path names here and set appropriate error. |
| (conv_to_win32_path): Ditto. |
| (conv_to_full_win32_path): Ditto. |
| (conv_to_posix_path): Ditto. |
| (conv_to_full_posix_path): Ditto. |
| (mount_info::conv_wo_win32_path): Back out previous |
| change. |
| (mount_info::conv_to_posix_path): Ditto. |
| |
| Sun Nov 15 19:29:19 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/limits.h: define CHILD_MAX to be 63. |
| * sysconf.cc (sysconf): return CHILD_MAX when asked for |
| instead of _POSIX_CHILD_MAX. |
| |
| Sun Nov 15 18:25:22 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * path.cc (mount_info::conv_to_posix_path): Handle NULL and |
| empty pathnames. |
| (mount_info::conv_to_win32_path): Likewise. |
| |
| Sun Nov 15 18:09:06 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: export dll_noncygwin_dllcrt0. |
| * {libccrt0.cc, winsup.h}: minor reformat. |
| |
| Sat Nov 14 22:14:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc (environ_init): Use sizeof for string lengths |
| rather than hard-coded values. |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * dll_init.cc (dll_foreign_dllcrt0): Rename to |
| dll_noncygwin_dllcrt0. |
| * winsup.h: Ditto. |
| * include/cygwin/cygwin_dll.h: Ditto. |
| |
| Sat Nov 14 14:09:33 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * hinfo.cc (hinfo::de_linearize_fd_array): Reset first fd |
| for open to zero after an exec. |
| |
| Sat Nov 14 01:29:23 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (fork): No need for intermediate jmp_buf variable. |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * libccrt0.cc (cygwin_attach_foreign_dll): New function. |
| * dll_init.cc (dll_foreign_dllcrt0): New function to initialize |
| DLLs loaded by non-cygwin apps. |
| (dll_dllcrt0_1): Initialize process table entry. |
| (dll_dllcrt0): Revert last change to do partial initialization. |
| * winsup.h (dll_foreign_dllcrt0): Prototype. |
| * include/cygwin/cygwin_dll.h (_cygwin_foreign_dll_entry): New |
| entry point that does partial initialization for non-cygwin apps. |
| |
| Fri Nov 13 16:17:28 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Assorted -Wall cleanup: |
| * utils/mount.cc (show_mounts): remove unused var i. |
| * utils/cygcheck.cc (dll_info): comment out unused var ofs. |
| (dump_sysinfo): return a void, not an int. Comment out unused |
| var len in two places. Add parens around assignment used as |
| truth value. |
| * utils/kill.cc (main): remove unused var i |
| * utils/mkpasswd: include <ctype.h> and <stdlib.h>. |
| (enum_users): remove unused var rc. |
| (enum_local_groups): ditto. |
| * utils/ps.cc (main): Add parens around assignments used as |
| truth values. |
| * utils/mkgroup.c: include <ctype.h> and <stdlib.h>. |
| (enum_groups): return void, not int. Remove unused var rc. |
| * gmon.c: include <stdio.h> and <unistd.h>. |
| (_mcleanup): remove unused vars buf and profdir. |
| |
| Fri Nov 13 16:17:28 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * include/sys/sysmacros.h: new file, define major, minor, makedev |
| |
| Fri Nov 13 17:03:52 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc: Reflect a variable name change. |
| * fhandler.h: *::ready_for read takes an additional argument. |
| * fhandler_console.cc (get_non_ascii_key): New function derived |
| from fhandler_console::read1. |
| (fhandler_console::read1): Use new function. |
| * select.cc (*::ready_for_read): Add new "nonblocking" argument. |
| (peek_console): Be more diligent in detecting when a usable |
| character has been entered or false positives will be returned. |
| (fhandler_tty_common::ready_for_read): Detect attempt to perform |
| a "background" read. |
| * syscalls.cc (read_handler): Remove code for dealing with slow |
| devices. Just deal with non-blocking here. |
| (read_ready_thread): Renamed function. Rewritten to only detect |
| when an fd has data ready to be read. Actual reads happen in |
| the main thread. |
| (_read): Rely on read_handler to read data for everything. Use |
| the read_ready_thread to indicate when data is ready to be read. |
| Gut the read_thread_info class since it no longer needs to return |
| much information. |
| * winsup.h: Reflect above changes to read_thread_info. Rename |
| to read_ready_thread_info. |
| |
| Fri Nov 13 15:09:26 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de> and |
| Ron Parker <rdparker@butlermfg.org>: |
| * path.cc (mount_info::conv_to_win32_path): Refined recognition of |
| UNC devices. |
| |
| Fri Nov 13 12:37:00 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Fix a typo. |
| |
| Fri Nov 13 10:59:43 1998 DJ Delorie <dj@cygnus.com> |
| |
| * Makefile.in: "make" uses new "ld -shared" by default internally. |
| |
| Fri Nov 13 00:58:38 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * spawn.cc (find_exec): Make sure that return value is correct |
| in all cases. Document. |
| * fhandler.h (fhandler_tty_common): Give unit number to constructor. |
| * fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Give |
| unit number to descriptor. Create correct UNIX path name for |
| tty so that ttyname() will work correctly. |
| * select.cc (fhandler_tty_common::ready_for_read): Don't worry |
| about read_for_read since the tty read routines are already |
| interruptible. |
| * syscalls.cc (_read): Reset read thread events on signal. |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * dlfcn.cc (ctype.h): Include. |
| (check_access): Document. |
| (check_path_access): Document. |
| (get_full_path_to_dll): Rework to handle general filenames and |
| symlinks. |
| |
| Thu Nov 12 17:01:52 1998 DJ Delorie <dj@cygnus.com> |
| |
| * Makefile.in (shared): "make shared" uses the new "ld -shared" |
| * cygwin.din: add LIBRARY and BASE tags for "ld -shared" |
| |
| Wed Nov 11 17:16:17 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * configure.in: Add --enable options for various cygwin defines |
| including preliminary thread-safe defines. |
| * configure: Regenerate |
| * Makefile.in: Honor new --enable options. |
| * glob.h: Move BSD defines to sys/cdefs.h. |
| * include/sys/cdefs.h: Move __P definition here. |
| |
| Wed Nov 11 14:00:45 1998 DJ Delorie <dj@cygnus.com> |
| |
| * cygwin.din (getpwnam): remove duplicates |
| |
| Tue Nov 10 18:27:09 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/aclocal.m4: regenerate with aclocal |
| * utils/configure.in: don't call AM_CYGWIN32 |
| * utils/configure: regenerate |
| |
| Tue Nov 10 15:56:03 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Gary V. Vaughan <gvaughan@oranda.demon.co.uk>: |
| * dlfcn.cc (dlopen): return an introspective handle to the |
| current module if name arg is NULL. The Single UNIX |
| Specification, Version 2 has this as a requirement. |
| |
| Mon Nov 9 16:29:27 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * errno.cc (strerror): all errnos in |
| newlib/libc/include/sys/errno.h are now listed here. |
| |
| Mon Nov 9 16:29:27 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin/version.h: up DLL version, bump API_MINOR to 2 |
| to mark following change. |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * cygwin.din: add exports for some of the newlib bessel |
| functions (j1, jn, y1, yn). |
| |
| Mon Nov 9 15:10:06 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc (_link): rewrite FIXME. |
| |
| Mon Nov 9 14:51:03 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * errno.cc (strerror): add string for EDEADLOCK. |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * errno.cc (errmap[]): add END_OF_MEDIA and additional Win32 |
| error codes. |
| |
| Sun Nov 8 21:28:01 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h: fhandler_pipe cannot be is_slow under |
| Windows9[58]. There is no way to check for EOF on a pipe |
| without performing a read on that system. |
| * syscalls.cc (read_handler): Don't check for ready_for_read |
| unless this is a "slow" device. |
| * winsup.h: Reorganize to accomdate fhandler.h requirement |
| for os_type. |
| |
| Sat Nov 7 23:27:05 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h (fhandler_console): Add a new function declaration. |
| * fhandler_console.cc (fhandler_console::read1): New function |
| renamed from console_read to allow use of class fields. |
| Detect readahead situation when doing line buffering and |
| buffer does not contain \n. |
| (fhandler_console::read): Reflect function name change. |
| * select.cc (cygwin_select): Changes for better handling |
| of < 1000 usec timeouts. |
| (select_stuff::wait): Perform a poll on timeout to |
| set any fd's that may have become active. |
| (peek_pipe): More debugging. Honor write_ready if set. |
| (peek_console): Can't always use WaitForSingleObject. |
| Detect readahead conditions set in fhandler_console::read1. |
| Honor write_ready if set. |
| (peek_windows): Honor write_ready if set. |
| * times.cc (__to_clock_t): Return clock_t value. |
| (times): Add some debugging printfs. |
| |
| Fri Nov 6 20:15:20 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * spawn.cc (spawn_guts): find_exec() argument mismatch |
| resulted in inability to run !# scripts which did not |
| begin with '/'. |
| |
| Tue Nov 3 16:12:59 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (handle_exceptions): Don't wait for signal |
| completion. |
| (ctrl_c_handler): Ditto. |
| * fhandler.h (fhandler_*): Declare new ready_for_read functions. |
| * select.cc: Reorganize all methods into a peek_*, a poll_*, |
| and a fhandler_*::ready_for_read. This is to allow the _read |
| function to query the state of an fd without starting a thread. |
| * signal.cc (kill_worker): If sending a signal from a non-main thread |
| don't wait for completion. |
| * sigproc.h (myself_nowait_nonmain): New define for use by sig_send. |
| * sigproc.cc (sig_send): Honor myself_nowait_nonmain. Don't wait |
| if not in main thread. |
| (__release_signal_mutex): Revert to calling ReleaseMutex only |
| once or mutex is released prematurely. |
| * syscalls.cc (read_handler): Use new ready_for_read method to |
| determine if an fd has data for reading. This function optionally |
| blocks until there is data to read. |
| (read_helper): Add debugging statement. |
| (_read): Move signal_arrived reset to before sig_protect to avoid |
| a race. Force read_handler thread to longjmp back to read_handler |
| function on signal. |
| |
| Tue Nov 3 12:18:31 1998 DJ Delorie <dj@cygnus.com> |
| |
| * utils/cygcheck.cc (dump_sysinfo): Note when not finding a |
| program (like cpp) on the path is a good thing. |
| |
| Tue Nov 3 01:26:08 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Kazuhiro Fujieda <fujieda@jaist.ac.jp>: |
| * environ.cc (environ_init): correct size arg to parse_options |
| |
| Mon Nov 2 21:40:32 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * regexp/regexp.c (regatom): Respond to compiler warning. |
| |
| Mon Nov 2 21:36:48 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (handle_exceptions): cygwin should not |
| print exception information if the exception is trapped |
| via signal(). |
| Also use consistent timings for lock_cs() throughout. |
| |
| Mon Nov 2 16:46:28 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: For now, also include newlib/libc/sys/cygwin. |
| Eventually will stop including newlib/libc/sys/cygwin32. |
| |
| Mon Nov 2 19:38:30 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * syscall.cc (gethostname): function deleted |
| * net.cc (gethostname): new function 'gethostname' which |
| first calls wsock32::gethostname and only if it fails, |
| calls GetComputerNameA. |
| |
| Wed Oct 28 17:57:53 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin/version.h: up DLL version to 20.0 in honor |
| of new Net release. |
| |
| Wed Oct 28 17:57:53 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * dll_init.cc (doGlobalCTORS): Fix invocation order. |
| (doGlobalDTORS): Likewise. |
| |
| Wed Oct 28 17:57:53 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: add include/exceptions.h to dll_init.cc deps. |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * dll_init.cc (exceptions.h): Include. |
| (dll_dllcrt0_1): New function to initialize Cygwin DLL guts |
| properly when a non-Cygwin app uses the Cygwin DLL. |
| (dll_dllcrt0): Call dll_dllcrt0_1 when user_data is NULL. |
| |
| Tue Oct 27 17:35:00 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syslog.cc: drop "32" from CYGWIN32_LOG_NAME |
| |
| Tue Oct 27 16:09:09 1998 DJ Delorie <dj@cygnus.com> |
| |
| * utils/cygcheck.cc (usage): cygwhich->cygcheck |
| |
| Mon Oct 26 17:47:10 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: fix deps for dll_entry.o and dll_main.o, |
| add dep for glob.o. |
| |
| patch from Mumit Khan <khan@xraylith.wisc.edu>: |
| * dll_entry.cc: New file for user DLL entry point. |
| * dll_main.cc: New file for user DLL main. |
| * Makefile.in (LIBCOS): Add dll_entry.o and dll_main.o. |
| |
| Mon Oct 26 13:47:10 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: add back install of include/net which was |
| removed by accident. |
| |
| Mon Oct 26 15:25:22 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * strace.cc (get_strace_mutex): Don't reset last windows |
| error. |
| (strace_printf): Preserve last windows error. |
| |
| Mon Oct 26 11:01:46 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * uname.cc (uname): Remove slash from system name. |
| |
| Mon Oct 26 02:11:44 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/asm/byteorder.h: add missing __cplusplus wrapper. |
| |
| Mon Oct 26 00:46:33 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * uname.cc (uname): Remove space from the system name. |
| |
| Sun Oct 25 23:47:56 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_console.cc (console_read): Several typos caused flaky |
| behavior when \r or \n detected under ENABLE_LINE_INPUT. Also ignore |
| first \n detected under ENABLE_LINE_INPUT if it isn't preceded by a \r. |
| This avoids problems when switching from "raw" mode into "cooked mode. |
| |
| Sun Oct 25 12:28:21 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove unnecessary __cygwin32_stack_trace and |
| __cygwin_stack_trace exports. |
| |
| Sat Oct 24 21:18:46 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * path.cc (symlink): Standard protection for symlink should |
| be 0777. |
| * syscalls.cc (num_entries): Calculated links for directory |
| entry should only include directories. |
| |
| Sat Oct 24 20:51:08 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * mkvers.sh: Modify check for CVS/Tag to work around ash bug. |
| * sigproc.cc (wait_sig): Fix detection of non-blockable signals. |
| |
| Fri Oct 23 18:24:43 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * environ.cc: CYGWIN32 environment variable is now called CYGWIN |
| * window.cc: lose "32" in Cygwin32WndClass |
| * syslog.cc: lose "32" in WIN95_EVENT_LOG_PATH and |
| CYGWIN32_LOG_NAME. |
| |
| Fri Oct 23 16:32:59 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/cygcheck.cc: reformat, add copyright notice |
| |
| Fri Oct 23 18:15:28 1998 DJ Delorie <dj@cygnus.com> |
| |
| * utils/cygcheck.cc: new file |
| * utils/Makefile.in: build cygcheck.exe |
| |
| Fri Oct 23 16:48:41 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (signals_init): Add error to api_fatal. |
| (events_init): Ditto. Collapse printfs into one. |
| (winsock_init): Ditto. |
| * net.cc (winsock_init): Remove "Cygwin" from error message. |
| |
| Fri Oct 23 13:48:10 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: install include/cygwin headers, losing the "32". |
| * include/cygwin32: remove |
| |
| Fri Oct 23 14:36:31 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc (environ_init): Avoid reallocating environ array. |
| * exec.cc: Increase number of arguments to 1024 throughout. |
| * fhandler.cc (fhandler_disk_file::open): Revert to checking |
| a file for '#!' to find out if it is executable but add |
| extra check for NTEA which, if set, eliminates the need for |
| the read. |
| * sigproc.cc (sigproc_terminate): Close hwait_sig and set it |
| to NULL prior to closing other handles since this flags some |
| routines that the process is going down. |
| |
| Fri Oct 23 00:31:27 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/*: remove "32"s from cygwin32_foo function calls |
| |
| Fri Oct 23 00:24:27 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin/version.h: increment CYGWIN_VERSION_DLL_MINOR |
| and CYGWIN_VERSION_API_MINOR since I'm changing the API in a |
| meaningful but backwards-compatible fashion. |
| |
| * exceptions.cc: strip "32" from cygwin32_exception_handler |
| debug printfs |
| |
| * net.cc: strip "32" from all net functions |
| * select.cc, syscalls.cc, winsup.h: lose "32" from cygwin32_select |
| * cygwin.din: adjust for these changes (no backwards |
| compatability issues here). |
| |
| * cygwin.din: rename all cygwin32_foo functions, aliasing as |
| cygwin_foo for backwards compat. for now but intend to lose them |
| at a later date. |
| * include/sys/cygwin.h: copy all cygwin32_ protos and make them |
| usable without the "32". We will remove the cygwin32_ ones at a |
| later date. |
| * external.cc, external.h: lose "32" from cygwin32_internal |
| * shared.cc, winsup.h: lose "32" in cygwin32_getshared |
| * path.cc, path.h: lose "32" in cygwin32_foo comments |
| * dll_init.cc: lose "32" in cygwin32_detach_dll |
| * hinfo.cc: lose "32" in cygwin32_attach_handle_to_fd |
| * libccrt0.cc: lose "32" in refs to cygwin32_attach_dll |
| * pinfo.cc: lose "32" in cygwin32_winpid_to_pid |
| |
| * include/cygwin32: remove all files except cygwin32_dll.h which |
| some people may already be including. Aim to remove this |
| remaining file at a later date. |
| * include/cygwin: move all include/cygwin32 files here. |
| * cygwin/cygwin_dll.h: change protos to reflect loss of "32"s |
| * include/net/if.h, include/netinet/in.h, include/netinet/ip.h, |
| include/netinet/ip_icmp.h, include/asm/socket.h: |
| include/sys/socket.h: include the headers in include/cygwin |
| * Makefile.in, winsup.h: fix references to |
| include/cygwin32/version.h |
| |
| * libcctype.c, smallprint.c, test.c: lose "32" in Cygwin32 refs in |
| comments |
| * include/dlfcn.h, include/exceptions.h, include/mapi.h, |
| include/winsock.h, include/mywinsock.h: ditto |
| * config/*: ditto |
| * profil.c: ditto, and respace |
| |
| Thu Oct 22 22:52:40 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * net.cc, exceptions.cc, hinfo.cc, select.cc, |
| include/mywinsock.h: rename __INSIDE_CYGWIN32__ to |
| __INSIDE_CYGWIN__ |
| |
| Thu Oct 22 17:39:06 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| First round of Cygwin32 -> Cygwin renaming. In all files, |
| rename Cygwin32 to Cygwin in comments. |
| * CYGWIN32_LICENSE: delete and |
| * CYGWIN_LICENSE: add it back under this name |
| |
| Thu Oct 22 20:10:24 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc: Eliminate cs mutex. Just use signal_mutex |
| throughout. Rename sig_dispatch_mutex to signal_mutex throughout. |
| (lock_cs): Rewrite to be a front-end for get_signal_mutex. |
| (unlock_cs): Rewrite to be a front-end for release_signal_mutex. |
| (set_process_mask): Synchronize signals after resetting mask. |
| * sigproc.cc (release_signal_mutex): Report on success or |
| failure of signal_mutex release. |
| * include/Windows32/Defines.h (FILE_FLAG_WRITE_THROUGH): Make |
| unsigned to avoid a compiler warning. |
| |
| Thu Oct 22 14:23:49 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/Makefile.in: disable building cygwin.exe. |
| |
| Thu Oct 22 14:16:10 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (sig_handle): Minimize life of cs lock during |
| handling of signals to reduce the potential for a race. |
| |
| Thu Oct 22 10:23:19 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/sys/strace.h: Minor addition from threadsafe-branch. |
| |
| Thu Oct 22 09:03:18 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * debug.cc (close_handle): Error condition needs a return value. |
| * environ.cc (parse_thing): char pointers should all be constant. |
| (add): Ditto. |
| * heap.cc (heap_init): Provide a little more information in |
| fatal printf. Use api_fatal to print errors. |
| * sigproc.cc (sigproc_terminate): Move code executed on |
| thread termination here from wait_sig since this function |
| may actually be executing in the signal thread. |
| * strace.cc (strace_open): Argument should be const. |
| (strace_init): Ditto. |
| * winsup.h: Ditto. |
| * include/cygwin32/version.h: Note that original shared memory |
| version was 0 for 98r2. |
| |
| Wed Oct 21 08:41:39 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (__api_fatal): Remove "cygwin" identifier. |
| * fhandler.cc (fhandler_disk_file::open): Set symlink flag |
| appropriately for previous change. |
| * shared.cc (shared_name): Initialize static buffer to |
| (hopefully) force it into NO_COPY segment. |
| * mkvers.sh: Reorganize, add cvs tag detection, and output |
| cygwin "info" defines. |
| |
| Tue Oct 20 18:42:50 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin32/version.h: rewrite versioning comments, |
| updating for new scheme but keeping historical information. |
| |
| Mon Oct 19 23:45:24 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/windows.h: remove Objective-C BOOL ifdef, now taken |
| care of within the include/Windows32 header files. |
| * fhandler_console.cc: fix KeyEvent references in light of |
| changes to the KeyEvent struct in the Windows32 headers. |
| |
| Update include/Windows32 header files. Changes from |
| Mumit Khan <khan@xraylith.wisc.edu>, Corinna Vinschen |
| <corinna.vinschen@cityweb.de>, and me. |
| * include/Windows32/CommonFunctions.h: new file, contents from |
| Functions.h. |
| * include/Windows32/*.h: Misc updates. |
| |
| Mon Oct 19 20:26:15 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * debug.cc: Throughout, avoid calling *_printf while lock |
| is active. Previous lock count was not thread-safe. |
| * fhandler_console.cc (console_read): Avoid sending a |
| \r to caller if ENABLE_LINE_INPUT. |
| (fhandler_console::read): Rely on console_read to handle |
| \r\n conversion. |
| |
| Mon Oct 19 12:10:09 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * mkvers.sh: Use more portable constructs to allow running |
| this with /bin/sh, bash, and ksh. |
| |
| Mon Oct 19 11:19:58 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (mount_info::from_registry): Missed "b15.0" part |
| for writing mount information back to registry. |
| (mount_info::init): Remove obsolete stuff. |
| |
| Mon Oct 19 10:42:17 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Avoid newer GNU make construction when building |
| version.cc. |
| |
| Mon Oct 19 00:09:06 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: invoke mkvers.sh with $(SHELL) |
| |
| Sun Oct 18 15:19:17 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (set_name): Accept unit argument for generating |
| win32_name. |
| (fhandler_base::fhandler_base): Ditto. |
| (fhandler_dev_floppy::fhandler_dev_floppy): Ditto. |
| (fhandler_dev_tape::fhandler_dev_tape): Ditto. |
| (fstat): Set symlink bit only if symlink_p is positive. |
| * fhandler.h: Reflect unit argument changes. |
| * fhandler_serial.cc (fhandler_serial::fhandler_serial): Accept |
| unit argument for generating win32_name. |
| * hinfo.cc (hinfo::build_fhandler): Pass unit argument to constructor |
| where apropriate. |
| * path.cc (path_conv::path_conv): Set symlink_p to a positive |
| value if !nofollow, negative otherwise. |
| (windows_device_names): Can't default to \dev\comx. \dev part |
| doesn't work. |
| (get_device_number): Accept just "comN" for backwards compatibility. |
| |
| Sat Oct 17 01:58:15 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (globify): Fix problem with argument corruption |
| due to use of pointer freed by realloc. |
| |
| Sat Oct 17 00:10:53 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Change NOT_OPEN_FD to dtable.not_open throughout. |
| * Makefile.in: Change .dll name to cygwin1.dll. Increment |
| the '1' when there are API/shared memory changes. Make |
| version.cc file every time .dll is linked. Remove datestamp |
| stuff. |
| * mkvers.sh: New file. Creates version.cc. |
| * cygwin.din: Export setdtablesize. |
| * dcrt0.cc: Remove obsolete version variables. |
| (build_argv): Use issep() macro rather than isspace since |
| isspace includes whitespace that the shell does not consider |
| a command separator. |
| (check_sanity_and_sync): Use new cygwin version defines and |
| structures for compatibility checking. |
| (dll_crt0_1): Ditto. |
| (__api_fatal): Renamed from api_fatal. Now always called from |
| macro which tacks program name to beginning of fmt. Increase |
| size of buffer. |
| * environ.cc (regopt): Use new reg_key class constructor |
| functionality. |
| * net.cc (getdomainname): Ditto. |
| * path.cc (read_mounts): Ditto. |
| (mount_info::from_registry): Ditto. |
| (mount_info::to_registry): Ditto. |
| (hash_path_name): No need for this to be a "C" function. |
| * external.cc (cygwin32_internal): Export version info strings. |
| * external.h: Add CW_GETVERSIONINFO. |
| * fhandler.cc (fhandler_base::write): Eliminate use of MIN macro. |
| * init.cc (set_dllname): Obsolete function. Handled in version.cc. |
| (dll_entry): Remove reference to set_dllname. |
| * libccrt0.cc (this_proc): Renamed from cygwin_statu. |
| (cygwin_crt0_common): Record api version in this_proc. |
| * mmap.cc (recreate_mmaps_after_fork): No need for this to be |
| a "C" function. |
| * syscalls.cc (close_all_files): Ditto. |
| * pinfo.cc (lock_pinfo_for_update): Eliminate a compiler warning. |
| * registry.cc: Eliminate reg_session class. Augment reg_key to handle |
| functionality of reg_session. |
| * registry.h: Ditto. |
| * shared.cc (shared_name): No need for this to be a "C" function. |
| Use new cygwin version structure. |
| (shared_info::initialize): Use new reg_key class constructor |
| functionality. |
| * smallprint.c (__small_vsprintf): Accept %P as a format specifier. |
| Signifies the program name. |
| * spawn.cc (spawn_guts): Quote *all* of the stuff the dcrt0.c considers |
| special. |
| * tty.cc (tty::inuse_event_exists): Remove debugging printf. It results |
| in too much output to strace log. |
| * uinfo.cc: Add a needed include. |
| * uname.cc (uname): Use new cygwin version structure to fill in utsname |
| fields. |
| * winsup.h: Regroup into sections. Add new version structure. |
| * include/utmp.h: Move login/logout function declarations here. |
| * include/cygwin32/version.h: Define new CYGWIN version/info |
| stuff here. |
| |
| Fri Oct 16 00:13:35 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: enable building mingw subdir by default |
| |
| Thu Oct 15 12:01:08 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * spawn.cc (spawn_guts): Set all security attributes |
| for CreateProcess so that sexec will work properly. |
| |
| Thu Oct 15 08:49:12 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * hinfo.cc (hinfo::dup2): Avoid a null pointer dereference |
| in a debugging printf. |
| |
| Wed Oct 14 18:06:51 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * fhandler_console.cc (fhandler_console::dup): reset |
| default_color since the console fhandler forgets its default |
| colorizing when it's `dup'ed. |
| (fhandler_console::fhandler_console): remove unnecessary |
| erasing in constructor of fhandler_console. |
| |
| Mon Oct 12 22:20:59 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fcntl.cc (fcntl): According to the "Single UNIX Specification", |
| F_DUPFD should *not* close its argument. Revert to previous |
| behavior. |
| * hinfo.cc (dup2): Guard against closing target fd too early. |
| * pinfo.cc: Always initialize myself to a dummy value so that |
| myself != NULL checks are avoided. |
| * include/sys/strace.h (strace): Remove NULL check for myself. |
| * dcrt0.cc (api_fatal): Ditto. |
| * exceptions.cc (handle_exceptions): Ditto. |
| * signal.cc (sigprocmask): Ditto. |
| (_raise): Ditto. |
| * strace.cc (get_strace_mutex): Ditto. |
| |
| Mon Oct 12 15:19:47 1998 DJ Delorie <dj@cygnus.com> |
| |
| * utils/ps.cc (main): use const char *pname |
| |
| Fri Oct 9 12:32:23 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (getw): Simplify. |
| |
| Thu Oct 8 23:09:34 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * times.cc: add missing syscall_printfs to time functions, |
| slight reformatting. |
| |
| Thu Oct 8 21:56:37 1998 DJ Delorie <dj@cygnus.com> |
| |
| * hinfo.cc (cygwin32_attach_handle_to_fd): allow to pass -1 |
| for dup() simulation; return allocated fd. |
| * pinfo.cc (lock_pinfo_for_update): if the mutex is broken, |
| fail instead of looping. If you do loop, don't use 100% CPU. |
| |
| Thu Oct 8 18:33:02 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc: Add another per-thread object for strace. |
| (quoted): Fix misconception of method used to quote |
| quotes. |
| (globify): Optionally output arguments. |
| (build_argv): Ditto. |
| (dll_crt0_1): Fix typo in line reassignment. |
| * debug.cc (class locker): Avoid calling lock multiple times. |
| * exceptions.cc (call_handler): Set strace recursion flag |
| to zero when invoking a signal handler. |
| * fcntl.cc (_fcntl): F_DUPFD should close its argument. |
| * fork.cc (fork): Move determination of parent process to |
| a safer place. |
| * sigproc.cc (get_sig_dispatch_mutex): Rename. Use macro |
| interface to provide the name of the caller for strace output. |
| (release_sig_dispatch_mutex): Ditto. |
| * sigproc.h: Define *_dispatch_mutex wrappers. |
| * strace.cc (strace_printf): Use new per-thread object to |
| guard against recursion. |
| * winsup.h: Define per_thread_strace_protect. Redo per_thread |
| base class for a little more clarity. |
| |
| Wed Oct 7 22:30:43 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler_tty.h: up NTTYs from 16 to 128 |
| |
| Wed Oct 7 09:15:55 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_console.cc (console_read): Distinguish between |
| 0 byte return from CTRL-C and EOF condition. |
| |
| Tue Oct 6 22:31:44 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (build_argv): Rewrite. Now: 1) allocates argv on |
| the fly, 2) inserts '@' files as they are found, 3) uses |
| sh-style quoting using either " or ' which may be embedded |
| in an argument. |
| (insert_file): Don't scan command line. Accept already |
| parsed arguments from build_argv. |
| (quoted): New function for parsing quoted strings. |
| (globify): Don't scan argv list. Accept element from |
| build_argv which will be tacked to end of argv as it |
| is being built. Extend quoting options to allow |
| tilde, braces, and quotes. |
| (dcrt0_dll_1): Simplify argv processing. Just call |
| build_argv, which handles everything. |
| |
| Tue Oct 6 11:04:43 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Change Create[A-Z]* calls throughout to use sec_none_nih |
| to avoid subprocesses accidentally inheriting handles. |
| * grp.cc: Hold group structures in group_buf rather than |
| an image of the /etc/group file. |
| (parse_grp): New function to parse a group line into a |
| struct group. |
| (add_grp_line): Use parse_grp to add line from /etc/group |
| into internal cache. |
| (read_etc_group): Avoid redundant feof call. Set up |
| default group. |
| (getgrgid): Just return appropriate entry from group_buf |
| rather than reparsing internal representation. |
| (getgrnam): Ditto. |
| (getgrent): Ditto. |
| * hinfo.cc (hinfo::select_*): Set errno value when attempt |
| is made to use an unopened fd. |
| * passwd.cc: Hold passwd structures in passwd_buf rather than |
| an image of the /etc/passwd file. |
| (parse_pw): New function to parse a passwd line into a |
| struct passwd. |
| (add_pw_line): Use parse_pw to add line from /etc/passwd |
| into internal cache. |
| (read_etc_passwd): Avoid redundant feof call. |
| (search_for): Just scan passwd_buf for matching entries. |
| (getpwent): Just return appropriate entry from passwd_buf |
| rather than reparsing internal representation. |
| |
| Mon Oct 5 18:06:31 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Corinna Vinschen <corinna.vinschen@cityweb.de>: |
| * sysdef/kernel32.def: add missing GetDiskFreeSpaceEx lines |
| |
| Sat Oct 3 23:52:23 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (si): Initialize so that NO_COPY will work. |
| * debug.cc (class locker): Fix previous change. Critical |
| sections are still required, so protect them if operating |
| in main thread to avoid signal problems. |
| Make any previously static use of locker global since that |
| appears to be the only foolproof way of marking the variable |
| NO_COPY. Rename these variables to something that is not |
| likely to be collided with. |
| * exceptions.cc (call_handler): Signal arrival of a dispatched |
| signal here and wait a long time for the mutex before giving |
| up. Should increase performance slightly. |
| * sigproc.cc (maintid): New external symbol. |
| * sigproc.cc (maintid): Make this global since it is used |
| in other places now. |
| (sig_dispatch_pending): Don't wait for wait_sig to complete |
| if there are no pending signals. Avoids a race and should |
| be faster. |
| (wait_sig): Don't set signal_arrived event here. Do it in |
| call_handler. |
| * strace.cc (strace_printf): Remove previous recursion check |
| since it is not signal safe. |
| * syscalls.cc (_read): Remove duplicate CreateEvent typo. |
| |
| Fri Oct 2 09:54:42 1998 DJ Delorie <dj@cygnus.com> |
| |
| * strace.cc (strace_printf): protect against recursion |
| |
| Thu Oct 1 17:08:47 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * utils/ps.cc (main): add more detailed usage printfs |
| |
| Thu Oct 1 11:05:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Fix typo in debug.o dependency. |
| * debug.cc (class locker): Give up on using critical sections |
| since they are not safe to use in the main thread due to signals. |
| |
| Wed Sep 30 22:34:42 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (fork): Close parent's parent_alive handle |
| if there is one or suffer a handle leak. |
| * syscalls.cc (_read): Make all events no access and |
| non-inheritable or suffer potential handle leak. |
| * windows.cc (gethwnd): Ditto. |
| |
| Wed Sep 30 17:22:29 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/io.h: add missing setmode proto |
| |
| Tue Sep 29 23:33:11 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_tty.cc (fhandler_pty_master::close): Make sure |
| both sides of both pipes associated with a tty master are |
| closed or suffer handle leaks. |
| |
| Tue Sep 29 16:55:00 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.cc (mount_info::init): remove default mounts for |
| raw devices. |
| * utils/mount.cc (reset_mounts): ditto |
| (main, usage): new -f flag disables warning messages about |
| missing mount point directories. Two new flags, disabled for |
| now: -c will create missing mount point directory, -g will |
| select adding the mount point to the global registry location. |
| * include/sys/mount.h: add MOUNT_GLOBAL define, for future use. |
| |
| Tue Sep 29 14:20:30 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (exception): Use %p to denote some hex |
| values. |
| * winsup.h (read_info): Add jmp_buf to structure. Required |
| for syscalls.cc change below. |
| |
| Mon Sep 28 19:36:41 1998 Syd Polk <spolk@cygnus.com> |
| |
| * include/{tchar.h, direct.h}: Added so that |
| tcl8.1a2 can be compiled with cygwin. |
| |
| Mon Sep 28 19:36:41 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (thread_reset): Yet another method for |
| handling interruptible reads. |
| (_read): Use thread_reset to reset reads after a signal. |
| |
| Sun Sep 27 21:11:46 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din: New alias for __cygwin32_stack_trace. |
| * debug.cc (find_handle): Avoid leaving function without |
| unlocking. |
| (newh): Ditto. |
| * exceptions.cc (__cygwin32_stack_trace): Rename to just |
| `stack'. Shortens stack trace output. |
| (exception): Use %p to distinguish register values. |
| * fhandler_console.cc (fhandler_console::init): Remove |
| debugging sig_protect. |
| * init.cc (dll_entry): Move definition to avoid a |
| compiler warning. |
| * path.cc (mount_info::conv_to_win32_path): Detect |
| case of root directory when setting win32 relative |
| path. |
| (mount): Remove obsolete label. |
| * syscalls.cc (thread_sync): New function for exiting |
| the read helper thread. |
| (_read): Use new method for exiting the read helper |
| thread. |
| |
| Sun Sep 27 11:25:06 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * delqueue.cc (delqueue_list::process_queue): Clear queue |
| entry if file cannot be deleted for a reason other than |
| sharing violation. |
| |
| Fri Sep 25 08:52:50 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * debug.cc: locker variables should all be static. |
| * syscalls.cc (_read): Call ForceCloseHandle on |
| thread handle since it is protected. |
| |
| Thu Sep 24 18:59:25 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.cc (mount): don't verify that path is an existing |
| directory. Instead |
| * utils/mount.cc: verify that path is an existing directory |
| and print warning if it's not. Still do the mount. |
| |
| Thu Sep 24 11:45:04 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * debug.cc: locker class variables must be NO_COPY since |
| they contain data that should not be precisely duplicated |
| after a fork. This hopefully fixes a "SIGSEGV" problem. |
| * select.cc (peek_pipe): Pipes apparently should set both |
| "read" and "exception" flags on EOF. |
| |
| Wed Sep 23 18:26:31 1998 DJ Delorie <dj@cygnus.com> |
| |
| * doc/doctool.c (main): typo checking for --help |
| |
| Wed Sep 23 17:46:06 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (symlink_check_one): Try much harder to ensure that |
| CloseHandle is called on the file which was opened to check |
| for a symlink. Avoid obsolete check for NULL buf. |
| |
| Wed Sep 23 17:11:50 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_read): Close thread handle or suffer a leak. |
| * dir.cc (opendir): Simplify logic. |
| (readdir): Ditto. Close handle explicitly when hit end |
| of files. |
| (rewinddir): Close directory handle or suffer leak. |
| (closedir): Simplify logic. |
| |
| Wed Sep 23 14:42:12 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from DJ Delorie <dj@cygnus.com>: |
| * path.cc (symlink_check_one): Don't re-define res or symlinks |
| will be undetectable. |
| |
| Wed Sep 23 12:02:39 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Change calls to api_fatal throughout to avoid need for \n |
| (see below). |
| Adapt some *_printf()/ExitProcess combinations to use api_fatal. |
| * winsup.h (SIGTOMASK): Generate signal mask correctly for |
| programs linked with newer cygwins. |
| * dcrt0.cc (check_sanity_and_check): Set subtract constant for |
| signal mask calculation based on whether binary was linked with |
| "older" or "newer" cygwin. |
| (do_global_ctors): Accept a second argument indicating whether |
| the ctors should always be run. Necessary in forked processes |
| for cygwin constructors which may do more than just allocate memory. |
| (checkout): Remove obsolete function. |
| (dll_crt0_1): Remove obsolete function call. Call do_global_ctors |
| with second argument TRUE. |
| (api_fatal): Change to a print-style function, allowing arguments. |
| Always emit a "\n" after a message. |
| (__main): Do not force running of constructors in forked processes. |
| * exceptions.cc (call_handler): Simplify arguments passed to this |
| function. Eliminate potential race by setting signal masks here. |
| (sig_handle): Just calculate current sigaction pointer once. |
| Change call_handler arguments. |
| * fhandler_console.cc (fhandler_console::write_normal): Output |
| unknown characters to screen. |
| (fhandler_console::write): Make signal protection synchronous. |
| * fork.cc (fork): Reorganize slightly to eliminate a compiler warning. |
| * init.cc (dll_entry): Temporarily remove freeing of waitq_storage |
| on thread detach until a more robust scheme is developed. |
| * signal.cc (signal): Make signal protection synchronous. |
| (sigaction): Ditto. |
| * sigproc.cc (get_sig_dispatch_mutex): More debug info. |
| (release_sig_dispatch_mutex): Work around potential bug in windows |
| with double allocation of a mutex when WaitForSingleObject is |
| interrupted. Save errno here only if about to call sig_send |
| where it may be changed. |
| (wait_sig): Remove unnecessary sig_sign stuff. Add some debugging |
| output. |
| * termios.cc (tcflow): Signal protection. |
| (tcgetattr): Ditto. |
| (tcsetattr): Make signal protection synchronous. |
| * winsup.h: Add new extern for SIGTOMASK macro. Use it in SIGTOMASK |
| macro. Move errno stuff to end so that it can benefit from previous |
| declarations. |
| * configure.in: Move AC_CANONICAL_SYSTEM up a little to avoid having |
| configure generate some code (like the check for host type) twice. |
| * configure: Regenerate. |
| |
| Wed Sep 23 11:49:55 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (symlink_check_one): Fix handle leak resulting |
| from open of file to check for symlink magic. Suggested |
| by Corinna Vinschen <corinna.vinschen@cityweb.de> . |
| |
| Wed Sep 23 08:33:26 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * fhandler_tty.cc (process_ioctl): Use console handle |
| for ioctl operations. |
| |
| Tue Sep 22 23:58:20 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| based on patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * utils/ps.cc (main): rewrite ps to give it more options, |
| including a, e, f, l, and u. |
| |
| Tue Sep 22 15:18:41 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.cc (umount): remove initial system_printf |
| (mount): stat path, verify that it's an existing directory, |
| otherwise fail. |
| (strncasematch, strcasematch): return 0 instead of FALSE |
| * utils/mount.cc (reset_mounts): reset / to System drive, |
| not C: as was done in the old days. |
| |
| Mon Sep 21 18:18:18 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.cc (mount, umount, setmntent, getmntent, endmntent): |
| make extern "C" |
| |
| Mon Sep 21 20:37:16 1998 DJ Delorie <dj@cygnus.com> |
| |
| * doc/configure.in: don't try to find cc until we can correctly |
| configure it for a native cc in a cross build. |
| |
| Mon Sep 21 17:17:14 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * fhandler.cc (fhandler_disk_file::check_execable_p): |
| don't check for .shc since that's non-standard. Check for |
| .exe first. |
| |
| Mon Sep 21 14:57:50 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * doc/Makefile.in: reference -db2html in case docbook |
| tools aren't installed. |
| |
| Mon Sep 21 14:43:40 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from DJ Delorie <dj@cygnus.com>: |
| * doc/doctool.c (scan_file): correct off by one error in |
| malloc |
| |
| Mon Sep 21 14:28:38 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h (select_record): Clear memory in constructor. |
| |
| Mon Sep 21 08:49:22 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * select.h: Use unsigned int to hold count in fd_set |
| structure or suffer alignment problems. |
| (WINSOCK_FD_ZERO): Back out previous change as it |
| is no longer needed due to the above. |
| |
| Sat Sep 19 22:58:18 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_console.cc (console_read): Keep looping in |
| ENABLE_LINE_INPUT mode when no characters are read. |
| This apparently means that a CTRL-C has been hit. |
| * select.cc (select_record::operator new): Remove. |
| (setlect_stuff::~select_stuff): Use delete to remove |
| record. |
| (pipe_cleanup): Remove unneeded statement. |
| (poll_socket): Add debugging statement. |
| (start_thread_socket): Add debugging statements. |
| * fhandler.h: Remove new operator from select_record. |
| * select.h: Make WINSOCK_FD_ZERO more aggressive. |
| * sigproc.cc (allow_sig_dispatch): Use new errno |
| saving method. |
| * syscalls.cc (_read): Reorganize stack freeing |
| code to avoid overhead when it's not needed and |
| to actually decommit stack memory. |
| |
| Sat Sep 19 19:16:32 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * select.cc (socket_cleanup): Avoid using a pointer |
| after it has been deleted. |
| |
| Fri Sep 18 13:57:37 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * Makefile.in: Really remove extra slash in INCLUDES. |
| Previous change didn't work. |
| pipe.cc (make_pipe): set close-on-exec flag for non-inheritable |
| pipes. |
| |
| Thu Sep 17 15:26:14 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * doc/Makefile.in: Add dummy install target. |
| |
| Thu Sep 17 12:30:49 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * winsup.h (per_thread*): New classes for storing and |
| manipulating per_thread information. |
| (threadstuff): New array of per_thread objects which are |
| manipulated after a fork. |
| (read_helper_thread_info): read() thread local storage. |
| (waitq_storage): wait() thread local storage. |
| * debug.cc (class locker): New class for generic locking |
| of debug table manipulation. Use this throughout for |
| locking access to thread/debug tables. |
| (debug_init): Remove in favor of automatic constructor. |
| * debug.h: Ditto. |
| * fork.cc (fork): Iterate through threadstuff looking |
| for thread information to clear out. Should solve some |
| problems for Windows 95/98. |
| * init.cc (dll_entry): Remove thread storage initialization. |
| Use per_thread class for DLL_THREAD_DETEACH. |
| * sigproc.cc: Use system_printf rather than alert_printf |
| throughout since system_printf now has the same functionality. |
| (sigproc_init): Use method to initialize per-thread storage. |
| * sigproc.h: Remove waitq_storage declaration. |
| * syscalls.cc (_read): Use per_thread class to manipulate |
| per-thread information. |
| * wait.cc (wait4): Ditto. |
| |
| Wed Sep 16 12:58:49 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.c (_read): Lower timeout for signal detection after |
| EOF on device. Should fix recent configure performance problems. |
| * Makefile.in: Extend clean target into regexp directory. |
| |
| Wed Sep 16 11:44:14 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::set_name): Honor no_free_names(). |
| (fhandler_base::linearize): Remove unneeded check for NULL |
| get_win32_name(). |
| (fhandler_disk_file::fhandler_disk_file): Set path names |
| to a standard constant. They should eventually be filled |
| out by fhandler_disk_file::open. |
| (fhandler_disk_file::open): Detect if win32_path_name_ is |
| a dummy path. Fill it out from real_path, if so. |
| * hinfo.cc (hinfo::init_std_file_from_handle): Improve debugging |
| statement. |
| (hinfo::linearize_fd_array): Remove unneeded check for NULL |
| get*_name (). |
| * path.cc (path_conv::path_conv): Correct problem with |
| symlinks found at places like E:\. |
| |
| Wed Sep 16 02:25:33 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * fhandler.cc (fhandler_disk_file::open): fix typo. |
| |
| Tue Sep 15 23:52:44 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * winsup.h: Remove side effects from SLASH_P. |
| |
| Tue Sep 15 18:36:08 1998 Ben Elliston <bje@cygnus.com> |
| |
| * sysdef/kernel32.def: Add definition for the Win32 API function |
| `TryEnterCriticalSection'. |
| |
| Tue Sep 15 12:26:48 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Remove extra slash in INCLUDES. |
| * hinfo.cc (hinfo::dup2): Always clear close-on-exec |
| flag for duplicated handle (problem and fix determined |
| by Sergey Okhapkin, sos@prospect.com.ru). |
| * fhandler.cc (fhandler_base::set_name): Avoid use of empty |
| path names. |
| (fhandler_base::raw_read): Show error code on failure. |
| (fhandler_base::linearize): Avoid copying NULL names. |
| (fhandler_base::open): Use NULL detection in small_printf. |
| (fhandler_base::dup): Move set_close_on_exec_flag to dup2 |
| so it is caught in all cases. |
| (fhandler_disk_file::fhandler_disk_file): Set "no free names" |
| flag. |
| (fhandler_disk_file::open): Clear "no free names" flag since |
| names have been allocated to the fhandler structure at this point. |
| * fhandler.h (set_no_free_names): Newconditional "no free names" |
| function. |
| * hinfo.cc (hinfo::dup2): Clear close on exec here. |
| (hinfo::linearize_fd_array): Avoid copying NULL names. |
| * path.cc (normalize_posix_path): Avoid copying trailing slash |
| if root. |
| (nofinalslash): Rename variable. |
| * path.h: Add flag for future use. |
| * regexp/regerror.c: Avoid including RCS strings in product. |
| * regexp/regsub.c: Ditto. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * select.cc (thread_pipe): Sleep for 10ms on every iteration. |
| (start_thread_pipe): Set the handle in the select structure |
| so that it will be properly identified in select_stuff::wait. |
| |
| Tue Sep 15 12:28:30 1998 DJ Delorie <dj@cygnus.com> |
| |
| * added documentation and doctool.c |
| |
| Tue Sep 15 08:37:26 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Fix LIBGCC definition for native builds. |
| Remove CFCOMMON in favor of configure solution. |
| * configure.in: Default CXXFLAGS to be == CFLAGS. |
| * configure: regenerate. |
| |
| Sun Sep 13 19:52:04 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: include ../libio when building |
| |
| Sun Sep 13 19:30:58 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin32/version.h: bump version minor now that |
| we've merged in all that new code... |
| |
| Sun Sep 13 21:34:33 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (do_global_ctors): Reverse call order |
| of constructors thanks to insight from Mumit Khan |
| (hkan@xraylith.wisc.edu). |
| (do_global_dtors): Reflect above change: invoke destructors |
| in the proper order. |
| * smallprint.c (__small_vsprintf): Gracefully detect a |
| null pointer for '%s' format. |
| * syscalls.cc (_read): Set correct flags to retrieve stack |
| information or suffer sporadic failures due to uninitialized |
| flag. |
| * regexp/regexp.c: Comment out RCS string. This provides |
| no useful information in the .dll. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Merge in experimental-980602 branch changes. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (symlink_check_one): known_suffix needs to be |
| determined here in some cases, so deal with it here. |
| (path_conv::path_conv): More effort needed to propagate |
| the known_suffix back to caller in every case. |
| (has_suffix): Return suffix found. |
| (readlink): Avoid two passes through symlink_check_one. |
| * spawn.cc (find_exec): Propagate known_suffix from |
| perhaps_suffix back to caller, if appropriate. |
| (spawn_guts): Use suffix returned from find_exec to |
| determine if file should be scanned as a script when |
| a #! file is found. Avoids a duplicate call to |
| perhaps_suffix. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.h (suffix_info): New struct for dealing with standard |
| suffix (.exe, .bat, etc.) information. |
| (path_conv): Constructor now takes a suffix_info argument. |
| (std_suffixes) Standard array of suffixes to consider "special". |
| * path.cc (path_conv): Constructor now takes a suffix_info |
| argument. Record any known suffix in path_conv known_suffix |
| field. |
| (has_suffix): New function for determining if a path already |
| has a known suffix. |
| (next_suffix): New function for returning the next suffix from |
| a list of suffixes. |
| (symlink_check_one): Take an optional suffix_info argument |
| for suffixes to consider or tack on. |
| * spawn.cc (std_suffixes): Standard list of executable suffixes. |
| (perhaps_suffix): Pass std_suffixes to path_conv. Use |
| new known_suffix field in path_conv to determine if a |
| suffix has been detected. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Substitute new str{,n}casematch for strcasecmp throughout. |
| This implementation is faster since it only tests equality. |
| |
| Change fhandler*::open throughout to return true/false |
| since the pointer returned was never used for anything. |
| |
| * Use strcasestr throughout for case insensitive matches for |
| filenames. |
| * Makefile.in: Use GNU make construct for determining gcc lib. |
| * dcrt0.cc (check_sanity_and_sync): Make error message more |
| explicit. |
| * debug.h: Better defines for dummy functions when !DEBUGGING. |
| * fhandler.cc (fhandler_base::fstat): Don't bother zeroing buf |
| here since it is always done in the caller. |
| (fhandler_base::~fhandler_base): Recognize cases where *_path_name_ |
| should not be freed. |
| (fhandler_disk_file::open): Split into two functions. First |
| function performs a path_conv and does testing on same. This |
| calls new fhandler_disk_file::open with path_conv data. New |
| function is called by stat_worker to avoid extra path tests and |
| mallocs. |
| Also, fix long standing off-by-one typo looking for #! magic. |
| Also, reapply test for != WinNT when checking files for magic. |
| Otherwise there is a tremendous slowdown in file opening, especially |
| for stat(). |
| * fhandler.h: Add support for setting/detecting when *_path_name |
| should not be freed. |
| Add new fhandler_disk_file::open declaration. |
| * hinfo.cc (digits): Remove obsolete function. |
| (hinfo::build_fhandler): Add default name for FH_DISK. |
| * path.cc (path_prefix_p_): Don't check beyond len1 for leading |
| slash. Responsible for reported performance problems? |
| (path_conv::path_conv): Ensure that fileattr is filled out |
| correctly in all cases. Return immediately when a file |
| is detected in !follow_mode. |
| (nofinalslash): Simplify. |
| (strncasematch): New function similar to strncasecmp except |
| that it only checks for =/!= and benchmarks faster than same. |
| (strcasematch): Ditto, re. strcasecmp. |
| (strcasestr): New function which does a case-insensitive strstr. |
| Needed for filename matching. |
| * smallprint.c (__small_vsprintf): Fix off-by-one in %.ns processing. |
| * spawn.cc (exe_exts): Make global for eventual use by other modules. |
| * syscalls.cc (_fstat): Zero buf prior to use. |
| (stat_worker): Rename from _stat_worker. Reorganize to minimize |
| mallocs and path name conversions. Should now perform only one |
| path conversion and 0 malloc/frees. |
| * winsup.h: Declare new functions. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Clean up error messages throughout using new strace_printf |
| options. |
| * smallprint.c (__small_vsprintf): Add %E option for printing |
| error code. Understand %.n syntax. |
| * strace.cc (strace_vsprintf): Common routine for formatting |
| strace output. Default to always ending with \n unless |
| string ends with \b. |
| (strace_write): Common routine for writing to strace output. |
| (strace_printf): Use above two routines. |
| (system_printf): Ditto. |
| * path.cc (path_conv): Scan path to be converted from right |
| to left for efficiency. Implement extension searching |
| which is passed from spawn to symlink_check_one to minimize |
| overhead. |
| (symlink_check_one): Check extensions for existence for use |
| with spawn. |
| (readlink): Accommodate changes to symlink_check_one. |
| * spawn.cc (perhaps_suffix): Use new extension checking |
| capabilities of path_conv. |
| (find_exec_1): Delete. |
| (find_exec): Generalize to allow searching on any PATH like |
| environment variable. |
| * dllfcn.cc (check_path_access): Use find_exec to find a path. |
| This also ensures that paths are in Windows format which was |
| not the case before. |
| * environ.cc (conv_envvars): Add LD_LIBRARY_PATH. |
| * fork.cc (fork): Clean up dll loading slightly. |
| * Makefile.in: Turn on compiler warnings. |
| * winsup.h (save_errno): New class for saving errno from |
| being clobbered. |
| * include/sys/strace.h: Make system_printf a macro similar |
| to strace_printf_wrapper. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.cc (sig_send): Attempt to work around Windows strangeness |
| when thread interrupted while waiting for completion event. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc: Remove debugging function DELETEME (). |
| * fhandler.cc (fhandler_base::fstat): Respond to compiler warning. |
| * signal.cc (sleep): Reset signal_arrived event before using it or |
| we could wake up immediately. |
| (usleep): Ditto. |
| (pause): Ditto. |
| * spawn.cc (spawn_guts): Ditto. Respond to compiler warning. |
| * sigproc.cc (sig_send): More debugging info. |
| (sig_dispatch_mutex): Only ping wait_sig when needed. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (socket_cleanup): Close thread handle or suffer |
| handle leak. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (verify_true): New function. |
| (fhandler_socket::select_*): Use verify_true for verification |
| function to avoid multiple calls to socket select. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (select_stuff::wait): Scan entire list of fds |
| when WFMO wakes up. |
| (set_bits): Add some strace debugging output. |
| (thread_socket): Ditto. |
| (verify_ok): Return result of set_bits rather than always 1. |
| (start_thread_socket): Set the handle in the select structure |
| so that it will be properly identified in select_stuff::wait. |
| (fhandler_windows::select_read): Verification routine should |
| be `poll_windows'. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.cc: Change some sigproc_printfs to only occur when |
| #ifdef DEBUGGING. |
| * spawn.cc (perhaps_suffix): Search for (PROG is the pathname to |
| the executable file) PROG.exe, PROG.com, PROG.bat, PROG.cmd, and |
| PROG and return extension found or NULL if no matching file. |
| (spawn_guts): If the file name of the executable ends in either |
| .exe, .com, .bat, or .cmd we assume that it is not a script file |
| and therefore do not open the file to determine if it is. |
| Fix "wait_failed" error when exec() called and non-cygwin parent. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dir.cc (rmdir): Set correct errno when non-empty directory and |
| Windows9x. |
| * pipe.cc (pipe): Use binary mode by default for pipes. |
| * syscalls.cc (_read): Wait for terminated thread to exit before |
| clearing its stack memory. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * hinfo.cc (hinfo::fixup_after_fork): Start initial fd search |
| to zero forked processes so that a close(0)/dup(fd) will work. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_windows::set_close_on_exec: Deal with possible |
| NULL handle. |
| (fhandler_windows::fixup_after_fork): Ditto. |
| * select.cc (select_stuff:wait): Handle return from |
| MsgWaitForMultipleObjects correctly for windows case. |
| * sigproc.cc (sig_send): Reset completion event for main thread. |
| * syscalls.cc (_read): Better handling of stack free condition. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (call_handler): Exit earlier if just running |
| in an exec'ed stub since the stub may own the sig_dispatch mutex, |
| but we still want to exit. |
| * select.cc (select_stuff::wait): Fix check for window activity |
| from MsgWaitForMultipleObjects. Handle infinite wait correctly. |
| (poll_windows): Add debugging output. |
| * spawn.cc (spawn_guts): Protect against signals interrupting |
| at an inopportune moment. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (select_stuff:test_and_set): Take appropriate action |
| when a select record uses a window_handle. |
| (fhandler_windows::select_read): Set handle and windows_handle |
| appropriately. |
| (fhandler_windows::select_write): Ditto. |
| (fhandler_windows::select_except): Ditto. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (cygwin32_select): Need to reset signal_arrived before |
| testing it or suffer loop. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (resume_child): Give up on SuspendThread synchronization |
| and use subproc_ready/forker_finished events. |
| (sync_with_parent): Ditto. |
| * sigproc.cc (wait_sig): Make sigcomplete_main manual reset to |
| allow handling of nested interrupts. |
| (wait_sig): Fix stupid typo on exit that would cause a |
| loop to run for a long time. Are exits faster now? |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (unlock_cs): Leave decision to release |
| sig_dispatch_mutex to the caller. |
| (set_process_mask): Call release_sig_dispatch_mutex explicitly |
| if needed. |
| (handle_sigsuspend): unlock_cs no longer takes an argument. |
| (call_handler): Try to acquire the strace mutex prior to |
| suspending the main thread to ensure that the mutex is always |
| released. |
| (sig_handle): Call release_sig_dispatch_mutex explicitly. |
| * fhandler_console.cc (fhandler_console::write): Protect against |
| signals while writing. |
| * signal.cc (signal): Protect against signal dispatch. |
| (sigaction): Ditto. |
| * sigproc.cc (sig_dispatch_pending): Return status no longer needed. |
| (sig_send): Assume pending_signals if sending signal to self. |
| (allow_sig_dispatch): Accept synchronize argument to control whether |
| to wait for wait_sig to do its thing. |
| (release_sig_dispatch_mutex): Just awaken wait_sig loop and wait |
| for acknowledgement if waitfor is TRUE. |
| (wait_sig): Don't ever zero pending_signals to avoid a possible race. |
| Set pending_signals for blocked signals, too. |
| * sigproc.h: Add __SIGFLUSH signal. |
| (class sig_protect): Allow destructor to wait for signal dispatch, |
| or not given constructor argument. |
| * strace.cc (get_strace_mutex): Renamed from waitfor_strace_mutex. |
| (release_strace_mutex): External function for use by call_handler. |
| This replaces raw calls to ReleaseMutex throughout. |
| * syscalls.cc (_read): Use sig_protect to protect against signals. |
| Other cosmetic cleanups. |
| (_close): Protect function with sig_protect. |
| * termios.cc (tcsetattr): Protect function with sig_protect. |
| |
| Thu Sep 10 21:09:51 1998 DJ Delorie <dj@cygnus.com> |
| |
| * syscalls.cc (_read): typo in matching printf format to args. |
| |
| * fhandler.cc (write): Switch to the Microsoft/DJGPP way of |
| writing out text files: pass \r but prepend \r to \n. |
| (read): Don't collapse multiple \r's. |
| |
| * delqueue.cc: rewritten for speed. Don't check *every* entry in |
| the list if we know the list is empty, plus check for duplicates. |
| * delqueue.h: ditto. |
| * path.cc (path_conv): If a path component is missing, short- |
| circuit the symlink check. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h: Reorder fhandler status field so that device is |
| in lower bits. This allows gcc to optimize access to the device. |
| * hinfo.cc: Inline not_open(). |
| * winsup.h: Inline hinfo::not_open(). Make hinfo::[] operator a |
| simple array reference. |
| * strace.cc: Change strace() to a macro. |
| * include/sys/strace.h: Ditto. |
| * syscalls.cc (read_handler): New function. Called directly from |
| _read for "non-slow" devices or via read_handler for slow devices. |
| (_read): Use read_handler for reading. |
| (read_helper): Ditto. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (do_exit): Don't ignore signals if reparenting. |
| Besides being a race, this screws up the process which is |
| actually executing. |
| * fork.cc (fork): Don't create a new process group when |
| forking or subprocesses won't respond to CTRL-C. |
| * syscalls.cc (_read): Ensure correct setting of EINTR errno. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (sync_with_child): Consider it a success if the child |
| has set the subproc_ready signal regardless of whether it has |
| exited or not. |
| * init.cc (dll_entry): Set read_helper_thread_info stuff to 0 |
| on dll initialization. Windows 95 seems to keep garbage here, |
| despite documentation to the contrary. |
| * syscalls.cc (_read): Report on errors to create read_helper |
| events. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (compute_argc): Limit debug_printf string argument size |
| or suffer a buffer overrun. |
| (do_exit): Add debugging statement. |
| * exceptions.cc (call_handler): Remove extraneous sigproc_printf. |
| Consolidate signal_arrived event with sig_was_dispatched. |
| (events_terminate): Consolidate signal_arrived event with |
| sig_was_dispatched. |
| * fhandler.h: Rename a field to something more mnemonic. |
| * fhandler_tty.cc: Throughout: Only set up fhandler_tty_master when |
| actually using ttys. Change tty_master `f' field to `console'. |
| * tty.cc: Ditto. |
| * fork.cc (sync_with_child): Add more information to "child died" |
| error. |
| * hinfo.cc (hinfo::build_fhandler): Call tty master constructor |
| when appropriate. |
| * select.cc (select_stuff::wait): Consolidate signal_arrived event |
| with sig_was_dispatched. |
| * sigproc.h: Ditto. |
| * syscalls.cc (_read): Ditto. |
| * winsup.h: Ditto. |
| * sigproc.cc: Ditto, throughout. |
| (block_sig_dispatch): Don't reset signal_arrived. Causes races. |
| * spawn.cc (spawn_guts): Limit debug_printf string argument size |
| or suffer a buffer overrun. |
| * include/sys/strace.h: Implement strace_minimal for very minimal |
| output which, hopefully, will not affect the behavior of traced |
| programs as much. |
| |
| Thu Sep 10 21:09:51 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: build libwinspool.a with the dll name winspool.drv |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (build_argv): Remove verbose debug_printf. |
| (dll_crt0_1): Use shared data handle passed in from parent process |
| when appropriate. Remove extraneous debug_printf. |
| * environ.cc (getwinenv): New function. Returns (possibly cached) |
| native version of an environment variable. |
| (win_env::add_cache): Add cached version of posix and win env |
| variables to local table. |
| (posify): Modify for use with native caching. |
| (setenv): Convert special environment variables to native here, |
| when they are set. |
| (struct parse_thing): Simplify struct. |
| (struct parse_things): Extend table to accommodate "envcache" |
| setting. |
| (parse_options): Add "envcache" option to control whether special |
| environment variables are cached. Simplify handling of remembered |
| parameters. |
| (winenv): Modify for use with getwinenv. |
| * exceptions.cc (unlock_cs): release_sig_dispatch takes an argument |
| now. |
| (set_process_mask): unlock_cs now wakens wait_sig when appropriate. |
| (handle_sigsuspend): Reorganize to take advantage of new behavior |
| of release_sig_dispatch_mutex and hopefully avoid a race. |
| (handle_sig): Avoid waking wait_sig if we couldn't get the dispatch |
| mutex. |
| * exec.cc (strccpy): Change to modify second argument to point |
| to position where "parse" stopped so that it doesn't have to be |
| recalculated by the caller. |
| (sexecvpe): Use find_exec () to find program to run. If you've |
| got a function for this, you might as well use it. |
| * fhandler_tty.cc (fhandler_pty_master::process_input_to_slave): |
| Report on signal being sent in termios_printf. Use kill_pgrp |
| interface. |
| * fork.cc (fork_copy): Just copy everything at once rather than |
| in individual pieces. |
| (fork): Potentially move up sbrk() when DEBUGGING so that parent |
| and child heaps are in sync. Pass cygwin_shared_h to child. |
| * path.cc (path_conv::path_conv): Make sure that a file is not |
| a symlink when returning immediately. |
| * sigproc.cc (sig_dispatch_pending): Return TRUE if signals were |
| pending. |
| (sigproc_init): Move sig_was_dispatched initialization here so |
| that it will always be available to other functions which rely |
| on it. Otherwise these functions would have to wait for wait_sig |
| to complete its initialization. |
| (sig_send): Rework SIGSUSPEND handling. |
| (release_sig_dispatch_mutex): Wait for signal to be dispatched |
| after releasing mutex if argument is TRUE. |
| (wait_sig): Remove sig_was_dispatched initialization from here. |
| * sigproc.h: release_sig_dispatch takes an argument. |
| * spawn.cc (perhaps_suffix): Take an optional argument indicating |
| whether the path has already been converted to win32. |
| (find_exec_1): Use getwinenv to get windows version of PATH. Use |
| windows version of individual directories to avoid posix lookups. |
| (spawn_guts): Call strace_dump here to cause strace output to |
| be slightly more synced when using strace caching. |
| (spawnvpe): Use find_exec () to find program to run. If you've |
| got a function for this, you might as well use it. |
| * syscalls.cc (_read): Only block signals for "slow" devices. |
| * winsup.h: Changes needed for previous checkin and getwinenv. |
| |
| Thu Sep 10 21:09:51 1998 DJ Delorie <dj@cygnus.com> |
| |
| * path.cc (path_conv): bug fix when path ends in slash |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::set_name): Use fhandler |
| method for determining native name. Avoid path_conv |
| when possible. |
| (fhandler_disk_file::get_native): New function, returns |
| windows name of disk file. |
| * fhandler.h: Add get_native() method to fhandler_* |
| classes. |
| * fhandler_serial.cc (fhandler_serial::get_native): Return |
| windows name of serial port. |
| * fhandler_tty.cc (fhandler_tty_master::init): Use consistent |
| name for tty master. |
| * fork.cc (fork_copy): Experimental change to avoid loop. |
| * grp.cc (add_grp_line): Use realloc to extend group buffer. |
| * hinfo.cc (hinfo::release): fd object should be deleted, |
| not freed or suffer a memory leak. |
| (init_std_file_from_handle): Reset first_fd_for_open to |
| signal that std* locations have been opened. Avoids use |
| of these locations prior to full dtable setup. |
| * passwd.cc (add_pwd_line): Use realloc to extend passwd buffer. |
| * path.cc (path_conv::path_conv): Avoid checking for symlinks on |
| network shares. Check for existence of file prior to taking |
| it apart for symlink checking (this needs more work). |
| (windows_device_names): Make global. |
| (get_device_number): Detect tty master. |
| * sigproc.cc (wait_sig): Maintain a flag which indicates when |
| signals are queued due to the wait_sig's inability to get a |
| sig_dispatch mutex. |
| (sig_dispatch_pending): Don't wake up the wait_sig thread if |
| unless there are signals queued (see above) or force argument. |
| (allow_sig_dispatch): Only wait for signal dispatch if something |
| is queued. |
| * sigproc.h: allow_sig_dispatch takes a (defaulted) argument now. |
| * syscalls.cc (_open): Use default hinfo::find_unused_handle call. |
| * net.cc: Ditto, throughout. |
| * pipe.cc: Ditto. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (do_exit): Ignore user initiated signals here. |
| * fhandler.cc (fhandler_disk_file::open): Detect error condition |
| on fhandler_base::open. |
| * fhandler_console.cc (undo_input): Respond to compiler warnings. |
| * grp.cc (getgrgid): Ditto. |
| * times.cc (_tzname): Ditto. |
| * fhandler_tty.cc (fhandler_Tty_slave::open): Cosmetic changes. |
| * fork.cc: Clean up debugging output. |
| * pinfo.cc (pinfo_init): Set pgid and sid to different values |
| initially. Let user program set sid appropriately if it is |
| to be the owner of a tty. |
| * sigproc.cc (allow_sig_dispatch): Try harder to detect when we |
| should wait for a signal dispatch. |
| * strace.cc (strace_open): Revert to previous mutex behavior. |
| * include/sys/strace.h: Ditto. |
| * syscalls.cc (_open): Detect error from fhandler open. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Global changes: |
| Store win32 name in fhandler structure to avoid multiple translations. |
| Support close_on_exec at the Win32 level for all but sockets. |
| Respond to gcc warnings. |
| Use single fstat() call for devices. |
| *::set_close_on_exec modified. |
| * dir.cc (opendir): Use win32 name in stat to speed things |
| up a little. |
| * debug.cc: New file. Provides routines for extra debugging |
| when -DDEBUGGING is specified. |
| * debug.h: New file. Definitions for debug.cc. |
| * exceptions.cc (signals_init): Break out signal initialization |
| from exceptions. |
| (dump_status): Add thread name to stack dump output. |
| (handle_exceptions): Renamed. |
| (set_process_mask): Don't ever mask non-maskable signals. |
| (ctrl_c_handler): Preliminary change to allow propagation of |
| cygwin signals back to gdb. |
| (sig_handle): Call do_exit directly from signal thread rather than |
| attempting to redirect the main thread. |
| * fhandler.cc (set_name): Store win32 name in fhandler structure. |
| (*::open) name field is extraneous now. Use get_win32_name () to |
| retrieve stored win32 name. |
| (fhandler_base::fstat): Default to performing fstat on a device. |
| (fhandler_disk_file::fstat): Renamed from fhandler_base::fstat. |
| Operate only on disk files. |
| (fhandler_base::set_close_on_exec_flag): New function sets flag |
| without touching the handle. |
| (fhandler_base::~fhandler_base): Free unix/win32 path names. |
| (fhandler_disk_file::close): Only call delqueue.process_queue from |
| this function since disk files are the only things that can |
| be unlinked, currently. |
| (fhandler_dev_null::open): Delete. |
| (set_inheritence): New function. Set handle inheritence. |
| (fhandler_*::fork_fixup): New functions. Inherit fhandler data |
| after a fork. |
| fhandler.h: *::set_output_handle - new method. |
| Setup methods for use by select(). |
| fork.cc (fork): Call fixup_after_fork in child to inherit |
| handles marked as non-inheritable on CreateProcess. |
| hinfo.cc (hinfo::build_fhandler): Use new function to detect |
| devices. |
| (dup_for_exec): Delete obsolete function. |
| (hinfo::dup2): Remove extraneous tests. |
| (hinfo::select_*): Interfaces into select(). |
| (hinfo::release): Free fd in dtable. |
| (hinfo::fixup_after_fork): New function. Inherit close-on-exec |
| handles from parent after fork. |
| path.cc (mount_info::posix_path_p): Make inline. |
| (path_conv::path_conv): Short circuit when path resolves to a device. |
| (digits): Move here from hinfo.cc. |
| (windows_device_names): Win32 names for Cygwin devices. |
| (get_device_number): New function. Return devie number given device |
| name. |
| (win32_device_name): New function. Decode a windows device name |
| and an optional "unit". |
| (mount_info::conv_to_win32_path): Short circuit when path resolves to |
| a device. |
| * path.h: add device and unit fields to path_conv class. |
| * select.cc: Rewrite for more structure, more OO. |
| * sigproc.cc: (get_sig_dispatch_mutex): New function. |
| (release_sig_dispatch_mutex): New function. |
| * sigproc.h: sig_protect class. Automatic protection from signals |
| when used. |
| * syscalls.cc (stat_dev): New function. |
| (stat_worker): Short-circuit when a cygwin device is detected. |
| * utils/ps.cc: Don't lock_pinfo when -f. Compress format to fit |
| more on a line. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): Register name for main thread. |
| * exceptions.cc (dump_status): Add thread name to diagnostic output. |
| (__cygwin32_exception_handler): Rename to handle_exceptions. Avoid |
| creating a .core file. |
| * exec.cc (sexecve): Reflect spawn_guts argument change. |
| * fhandler_tty.cc (fhandler_tty_master::init): Use makethread to |
| create a new thread. |
| * select.cc: Create pipe/socket threads each time select is called. |
| Use thread termination as indication of fd readiness. |
| * sigproc.cc (sigproc_init): Use makethread to create a new thread. |
| (wait_sig): Simplify default signal call slightly. |
| * spawn.cc (spawn_guts): Accept child pinfo pointer rather than |
| pid. Reorganize so that common initialization is handled once. |
| * strace.cc: Set strace_mutex to NULL initially to catch CreateMutex |
| errors. |
| * window.cc (gethwnd): Use makethread to create a new thread. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Add debug.o target. |
| * cygwin.din: Separate pipe from _pipe. |
| * dcrt0.cc (alloc_stack): New, more precise method for allocating |
| stack space after a fork. |
| (dll_crt0_1): Use new child_proc_info class to retrieve information |
| from possible parent process. Remove #ifdef erroneously checked in. |
| Remove extraneous syscall_printf. |
| * exceptions.cc (signals_init): New function. |
| * fhandler.cc (fhandler_make_pipe): Move to pipe.cc. |
| * fhandler.h (fhandler_base): New = operator preserves unix_path_name_. |
| * fhandler_tty.cc: Strip some tty functions from here into tty.cc. |
| * fork.cc: Remove obsolete ifdefs. Reorganize, streamline with new |
| fork. |
| * hinfo.cc: Speed up build_fhandler. |
| * libccrt0.cc: Remove obsolete ifdefs. |
| * pinfo.cc (pinfo_init): Simplified by new fork/spawn info passing |
| method. |
| * pipe.cc (make_pipe): Moved from fhandler.cc. Handles MS-style |
| _pipe. |
| (pipe): Use new arguments to make_pipe. |
| (_pipe): New MS-compatible function. |
| * shared.cc: cygwin_shared_h make global so that it can be inherited |
| via new fork/spawn info passing method. |
| (open_shared_file_map): Detect if shared info is already set up from |
| fork/spawn. |
| * sigproc.cc (sigproc_init): Initialize signals with signals_init here. |
| Use new fork/spawn info passing method. |
| * spawn.cc (spawn_guts): Pass information in a structure to spawned |
| process. Identify structure type with a "magic number". |
| * strace.cc (strace_printf): Only print program full path spec once |
| to save space and clutter. Preserve any windows error. |
| * syscalls.cc (_open): Detect and avoid error return from |
| build_fhandler. |
| * tty.cc: Accept some non-fhandler functions formerly found in |
| fhandler_tty.cc |
| * winsup.h (pinfo): Remove some fields obsoleted by new fork/spawn |
| info passing method. |
| (child_info*): New classes for passing information to forked/spawned |
| process. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Add debug.o target. |
| * console.cc (fhandler_console::char_command): Fix failed merge. |
| * dcrt0.cc (alloc_stack): New, more precise method for allocating |
| stack space after a fork. |
| (dll_crt0_1): Use new child_proc_info class to retrieve information |
| from possible parent process. Remove #ifdef erroneously checked in. |
| Remove extraneous syscall_printf. |
| |
| Thu Sep 10 21:09:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Global changes: |
| Replace pinfo hmap entry with "dtable" reference. |
| Replace cygwin_shared .t field with '.tty' and allow indexing via |
| tty into this array. |
| Make fhandler_ constructors set the size of the structure into any |
| created class. |
| Change fhandler settings into a bit mask. Use methods to access. |
| Record device type in fhandler class. |
| Remove old linearize/de_linearize code in favor of newer method |
| uses more bullet-proof method for determing device type of inherited |
| files. |
| Protect various important handles from closing when operating |
| under -DDEBUGGING. |
| * dcrt0.cc (do_global_ctors): Renamed, made static and reused |
| for calling from dll_crt0_1 to initialize cygwin.dll constructors. |
| (do_global_dtors): Renamed. |
| (dll_crt0_1): mark noreturn. Use new do_global_ctors function. |
| Call debug_init to initialize features turned on by -DDEBUGGING. |
| Call dtable_init to initialize dtable, hinfo_init to initialize |
| standard fds. |
| (dll_crt0): Mark noreturn. Move constructor calls to dll_crt0_1. |
| (__main): Use new do_global_ctors (). |
| Remove OLDWAY and _PPC_ conditionals. |
| * environ.cc (environ_init): Use appropriate strace printf. |
| * exceptions.cc (set_process_mask): Don't ever mask out unmaskable |
| signals. |
| * init.cc (dll_entry): Initialize storage for read_helper. |
| * pinfo.cc (init_from_exec): Delete obsolete function. |
| * sigproc.cc (sig_send): Implement myself_nowait to allow |
| sending a signal to myself without waiting for synchronization. |
| (wait_sig): Change method for determining whether signal should |
| be examined slightly. |
| * strace.cc (strace_printf): Add ability to report on thread from |
| which message originated. |
| (threadname): New function |
| * syscalls.cc (read_helper): New function. Invoked in separate thread |
| from _read. |
| (_read): Use a separate thread for reads that can be interrupted |
| with a TerminateThread(). Allows EINTR. |
| (setdtablesize): Use new method for extending the size. Callable |
| from anywhere. |
| (getdtablesize): Use new method for getting the current dtable size. |
| * tty.cc: Remove use count in favor of a method which checks tty |
| availability via an event. Some code cleanup. |
| (tty::inuse): New function for determining if a tty is |
| in use by any process. |
| (tty_list::terminate): Use new method for determining if a tty is in |
| use. Should avoid hangs waiting for non-existent processes to |
| free up a tty. |
| (tty::common_init): Common initialization for tty/pty master. |
| (fhandler_tty_master::init): New function. |
| (do_output): Use new method for determining if a tty is in use. |
| (fhandler_pty_master::open): Use comon initialization code. |
| (fhandler_pty_master::ptsname): static buffer is ok now. |
| * tty.h: Reflect inuse changes and tty.cc cleanup. |
| * winsup.h: Include debug.h for use when -DDEBUGGING. Remove |
| stuff previously here which was conditionally compiled with -DDEBUGGING. |
| (hinfo_vec): Rename to hinfo. Maintain argv style list of pointers |
| to open fds. Add methods to deal with above changes. |
| (pinfo): Removals due to above changes. |
| (shared_info): Rename t to tty. |
| Add common defines to extern "C" section. |
| |
| Wed Sep 9 22:24:50 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_prefix_p_): Rewrite to avoid false match |
| against root when remote path or \\x style disk device. |
| * include/sys/strace.h: Implement new macro for use by |
| malloc_printf which does not default to "on" if STRACE=1. |
| This avoids massive strace logs. |
| |
| Tue Sep 8 11:31:42 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): Remove ill-advised ifdef NEEDOEM. |
| |
| Thu Sep 3 17:54:18 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Speed up dll links. |
| * path.cc (chdir): Fix previous change. |
| |
| Mon Aug 31 12:23:33 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (chdir): Protect free from potential signal race. |
| |
| Fri Aug 28 15:59:27 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * dlfcn.h: delete, move it |
| * include/dlfcn.h: here |
| |
| Thu Aug 27 14:20:38 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * path.cc (path_conv::path_conv): remove trailing backslash from |
| full win32 name, otherwise the last component of the path isn't |
| checked for symlink. |
| |
| Wed Aug 26 14:15:22 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h (fhandler_base): Make set_name() public and implement |
| clear_name() to accommodate dup2. |
| * hinfo.cc (dup2): Previous change exposed problem with dup2. |
| Same unix_path_name_ ptr was being used in two separate fds. |
| Fix this. |
| |
| Wed Aug 26 12:10:27 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * malloc.cc: Use malloc_printf throughout. |
| * path.cc (getcwd_inner): Allocate buffer with realloc to |
| avoid a memory leak. |
| * syscalls.cc (_close): delete unix_path_name_ explicitly since |
| destructor is never called. |
| * include/sys/strace.h: Add strace_malloc stuff. |
| |
| Mon Aug 24 15:45:59 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/sys/ioctl.h: variable names in protos should start |
| with two leading underscores. |
| * include/sys/mman.h: ditto. |
| * include/sys/mount.h: ditto. |
| * include/sys/resource.h: ditto. |
| * include/sys/smallprint.h: ditto. |
| * include/sys/socket.h: ditto. |
| * include/sys/strace.h: ditto. |
| * include/sys/vfs.h: ditto. |
| * include/sys/wait.h: ditto. |
| * include/mntent.h: ditto. |
| |
| Tue Aug 18 17:00:20 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Trevor Yann (TYann@vet.com.au): |
| * uname.cc (uname): report processor type for win98 |
| |
| Tue Aug 18 16:09:13 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (cygwin_fork_helper1): Start initial fd search |
| to zero forked processes so that a close(0)/dup(fd) will work. |
| |
| Mon Aug 17 16:58:09 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * winsup.h (hinfo): Remember initial fd to start searching |
| for new fds. This avoid assigning std/in/out/err to |
| files opened early in initialization. |
| (hinfo_vec::find_unused_handle): New default way to search |
| for a new handle. Avoids using std/in/out/err until the |
| proper time in the initialization. |
| * fhandler.cc (fhandler_make_pipe): Use default method for |
| finding unused handle. |
| * net.cc: Ditto throughout. |
| * pipe.cc (dup): Ditto. |
| * syscalls.cc (_open): Ditto. |
| * hinfo.cc (hinfo_vec::init_std_file): Set initial fd for open |
| search to include std/in/out/err. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * spawn.cc (perhaps_suffix): Use translated win32 path when |
| determining if a .exe extension should be added or suffer adding |
| a .exe extension twice. |
| |
| Mon Aug 10 15:08:49 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin32/version.h: up minor version number |
| |
| Mon Aug 10 07:04:13 1998 DJ Delorie <dj@cygnus.com> |
| |
| * delqueue.cc: rewritten for speed. Don't check *every* entry in |
| the list if we know the list is empty, plus check for duplicates. |
| * delqueue.h: ditto. |
| |
| Sat Aug 8 14:03:52 1998 Eric Bachalo <ebachalo@cygnus.com> |
| |
| * spawn.cc (perhaps_suffix): If report_failure_p is non-zero this |
| function will search for (PROG is the pathname to the executable |
| file) PROG.exe, PROG, PROG.com, PROG.bat, and PROG.cmd and return |
| either the full path name if found or NULL if not. |
| (spawn_guts): If the file name of the executable end in either |
| .exe, .com, .bat, or .cmd we assume that it is not a script file |
| and therefore do not open the file to determine if it is. |
| |
| Thu Aug 6 22:25:38 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv): If a path component is missing, short- |
| circuit the symlink check. Bug fix for case where path ends |
| in a slash. |
| (path_conv::path_conv): Make sure that a file is not |
| a symlink when returning immediately. Avoid checking for |
| symlinks on network shares. Check for existence of file prior |
| to taking it apart for symlink checking (this needs more work). |
| |
| Sun Aug 2 19:17:59 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (cleanup_pipe_thread): Cleanup thread handle or suffer |
| handle leak. |
| (cleanup_socket_thread): Ditto. |
| * sigproc.cc (proc_subproc): Make wait thread manual reset to |
| solve problem with nested waits not waiting correctly. |
| * fhandler_tty (fhandler_tty_slave::open): Don't create the output |
| mutex, just open it. If it can't be opened, its an error. |
| |
| Wed Jul 29 12:08:19 1998 Eric Bachalo <ebachalo@loony.cygnus.com> |
| |
| * include/Windows32/Defines.h: Added Virtual-Key Code defines |
| for the Win95 keys - VK_LWIN, VK_RWIN, and VK_APPS. |
| |
| Tue Jul 21 14:47:59 1998 DJ Delorie <dj@cygnus.com> |
| |
| * path.cc (path_prefix_p): optimize calls by comparing first |
| characters inline. |
| (path_conv): optimize by not checking both foo and foo/ for |
| symbolic links. |
| |
| Tue Jul 21 14:39:03 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * pinfo.cc (pinfo_init): Set myself->sid to 1 so that |
| a program started up outside of cygwin will not trump |
| other opens of ttys. Fixes problem with pgid change below. |
| |
| Tue Jul 21 12:59:21 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (chdir): Force chdir to disk device to go to the root |
| directory. |
| |
| Tue Jul 21 09:32:23 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * pinfo.cc (pinfo_init): 0 is a very bad value for a default pgid. |
| |
| Fri Jul 16 15:09:50 1998 Stan Cox <scox@cygnus.com> |
| |
| * (gcrt0.c, gmon.c, profil.c, mcount.c, gmon.h, profil.h, |
| config/i386/profile.h): New files for gprof cygwin support. |
| Some code contributed by Tim Newsham for Secure Networks, Inc. |
| * Makefile.in (LIBGMON_A, GMON_START, GMON_OFILES): New for gprof. |
| |
| Mon Jul 13 19:29:00 1998 Eric Bachalo <ebachalo@loony.cygnus.com> |
| |
| * dcrt0.cc (insert_files): Now both -@file and @file work as |
| command line file insertion options. |
| * fhandler_serial.cc (fhandler_serial::open): Enabled RTS Control |
| Line by default to make full handshaking cables work for the |
| D10V board. (CDB.fRtsControl) |
| (fhandler_serial::tcsetattr): same as above |
| |
| Wed Jul 8 15:53:35 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): Avoid redundant strace_printf. |
| |
| Wed Jul 8 15:05:10 1998 DJ Delorie <dj@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::lseek): Note lseek so that next |
| write() can check for the Win95 "gap" bug. |
| (fhandler_base::write): If Win95 and lseek past eof |
| followed by write, use WriteFile to force the "gap" to be filled |
| with zeros rather than left to the "undefined" data Win32 specifies. |
| (fhandler_base::fhandler_base): initialize check_win95_lseek_bug_. |
| * fhandler.h (class fhandler_base): Add check_win95_lseek_bug_ |
| for bug: when seek past EOF and write, win95 fills with random |
| data (security hole). |
| |
| Thu Jul 2 10:45:15 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc (winenv): Be more paranoid when restoring special |
| win32 environment variables beginning with '='. |
| |
| Thu Jul 2 09:19:32 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc: Previous change was not rigorous enough. |
| Track environment variables to convert in a structure which |
| records the correct function for converting the environment |
| variable from/to POSIX format. |
| (isspecial): New function. |
| (parse_options): Use template to initialize parse array. |
| (posify): Use new conversion function. |
| (winenv): Ditto. Also restore special win32 environment variables |
| beginning with '='. |
| * path.cc (conv_path_list): Source argument should be const. |
| (win32_to_posix_path_list): Ditto. |
| (posix_to_win32_path_list): Ditto. |
| * path.h: Reflect changes to path.cc. |
| |
| Tue Jun 30 14:00:32 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc (winenv): Avoid converting environment variables to |
| windows style if they begin with something like a 'C:'. |
| |
| Sun Jun 28 20:59:16 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/Windows32/Structures.h (MINMAXINFO): Add a missing |
| *LP... |
| |
| Thu Jun 25 10:45:38 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * signal.cc (sigpending): Stop from always reporting pending signals |
| when no signals are actually pending. |
| |
| Tue Jun 23 15:38:45 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Add a new target. |
| * cygwin.din: Add cygwin32_internal interface. |
| * dcrt0.cc (dll_crt0_1): Don't call main if no main set. Allows |
| initialization from a .dll. |
| * utils/ps.cc: Use new internal/external interface to cygwin to |
| provide an unchanging interface to some cygwin internals. |
| * external.h: Preliminary stab at an interface to cygwin32 for |
| getting at the "naughty bits". |
| * external.cc: External interfaces to some cygwin internal stuff. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * exceptions.cc (sig_handle): When abnormally terminating, |
| close_all_files in signal thread context to prevent socket hangs. |
| |
| Thu Jun 18 15:17:06 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * pinfo.cc (pinfo_list::allocate_pid): Wrap pids at SHRT_MAX |
| or ash complains. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * window.cc (WndProc): Always kill timer before starting up |
| a new one or eventually suffer a timer proliferation. |
| |
| Mon Jun 15 09:40:30 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc: Cosmetic change. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * syscalls.cc (system): Ignore SIGINT, SIGQUIT and SIGCHLD while |
| in a system() call. |
| |
| Thu Jun 11 18:37:02 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/sys/syslog.h: add missing LOG_LOCALn bits |
| |
| Tue Jun 9 22:29:26 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dll_init.cc (DllNameIterator::operator const char* ()): Add |
| a missing \n to a *_printf. |
| * fhandler_tty.cc (fhandler_tty_slave::dup): Ditto. |
| (fhandler_tty_slave::ioctl): Ditto. |
| * errno.cc (errmap): Add an unrepresented windows error. |
| Simplify table. |
| |
| Tue Jun 9 17:21:44 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * errno.cc (errmap): Make sure that errmap array is |
| terminated with a NULL or suffer a SIGSEGV. |
| |
| Tue Jun 9 10:30:02 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Change `sprintf' to `__small_sprintf' throughout cygwin. |
| * cygwin.din: Don't export exception handler. |
| * exceptions.cc (__cygwin32_exception_handler): Rename to |
| handle_exceptions. Make static. Redo core file generation |
| slightly so that __small_sprintf can be used. |
| (call_handler): Remove use of `rethere' in asm code. Don't |
| probe stack as this is potentially dangerous unless done |
| meticulously. |
| * select.cc (select): Redo to create thread whenever needed |
| for pipe/socket. Thread termination denotes fd readiness. |
| |
| Mon Jun 8 14:31:11 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * hinfo.cc (set_std_handle): New function to set windows |
| "standard" handles from cygwin handles. |
| (hinfo_vec::dup2): Set windows standard handle if appropriate. |
| * syscalls.cc (_open): Set windows standard handle if appropriate. |
| |
| Sun Jun 7 16:34:00 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * fhandler_console.cc (fhandler_console::scroll_screen): Add a |
| workaround for Win95 ScrollConsoleScreenBuffer bug which allowed |
| scrolling to work correctly in both directions. |
| (fhandler_console::char_command): Simulate underscore with cyan |
| instead of magenta like on a real linux console. |
| |
| Sat Jun 6 00:01:18 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc: Remove obsolete PPC and OLDWAY defines. |
| * exceptions.cc: Remove obsolete PPC defines. |
| |
| Fri Jun 5 22:18:01 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * utils/Makefile.in: install should build products if necessary. |
| |
| Fri Jun 5 17:47:11 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * errno.cc (seterrno): shouldn't & against 0xff since there |
| are error codes above 255. |
| |
| Fri Jun 5 14:35:36 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (ctrl_c_handler): Ignore CTRL_LOGOFF_EVENT or |
| everybody gets signalled when a user logs off. Allow program |
| to clean up when receiving a CTRL_CLOSE_EVENT or CTRL_SHUTDOWN_EVENT. |
| * spawn.cc (_spawnve): Delete hmap.vec from created child since |
| it just gets overwritten in the child anyway. |
| * pinfo.cc (lpfu): u -> user_data. |
| |
| Thu Jun 4 22:45:12 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * mmap.cc (mprotect): 3rd arg to VirtualProtect call should |
| be new_prot, not prot. Also, fix check for PROT_NONE (==, |
| not &). |
| |
| Wed Jun 3 16:37:43 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * exceptions.cc: Fix typo in comment |
| (ctrl_c_handler): Add comments, return FALSE on CTRL_CLOSE_EVENT, |
| CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT events. Otherwise, |
| we handle the console event ourselves, send a SIGINT, and return |
| TRUE. |
| |
| Wed Jun 3 14:36:08 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * path.cc (conv_to_win32_path, conv_to_full_win32_path): resolve |
| symlinks before converting. |
| |
| Wed Jun 3 02:11:23 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * exceptions.cc (ctrl_c_handler): return zero when a |
| CTRL_LOGOFF_EVENT occurs. |
| |
| Wed Jun 3 01:01:17 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Reorganize fhandler-related file layout. |
| * Makefile.in: Remove console.o, add fhandler_console.o. Add |
| fhandler_serial.o. Remove tty.o, add fhandler_tty.o. |
| * fhandler_console.cc: Was console.cc. |
| * console.cc: Delete. |
| * fhandler_serial.cc: Was code in fhandler.cc. |
| * fhandler.cc: Delete fhandler_serial routines. |
| * fhandler.h: Fix comments describing fhandler file layout. |
| * fhandler_tty.cc: Was code in tty.cc. |
| * tty.h: Delete. |
| * fhandler_tty.h: Was tty.h. |
| * tty.cc: Delete code moved to fhandler_tty.cc. |
| * winsup.h: Include fhandler_tty.h instead of tty.h. |
| |
| Tue Jun 2 23:34:42 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Don't need processor-specific sysdef directories: |
| * sysdef/powerpc: remove all files |
| * sysdef/i386: move all files to top of sysdef directory |
| * configure.in: stop setting processor-specific sysdef variable |
| * configure: regenerate |
| * Makefile.in: build .a files from top-level sysdef files. |
| |
| Tue Jun 2 16:52:18 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from lhall@rfk.com (Larry Hall): |
| * console.cc (fhandler_console::fhandler_console): call |
| fillin_info() to check if console attributes have already been |
| set. If so, set the default foreground color to be the default |
| for the console, otherwise set it to white. |
| (fhandler_console::char_command): use the default color to set fg, |
| bg, and bold for all cases. |
| |
| Mon Jun 1 14:05:01 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dir.cc (writable_directory): Avoid a malloc. |
| (opendir): Convert to fully qualified path spec. Use inode from |
| stat as hash instead of recalculating. |
| (readdir): Try hard to generate the same inode for filenames |
| as inodes returned from stat(). Handle '.' and '..' inodes |
| differently than normal files. Note that '..' will still fail |
| in certain pathological conditions. |
| * fhandler.cc (fstat): Preserve errno around path conversion. |
| * path.cc (path_conf::path_conv): Add an extra argument signifying |
| whether caller wants a fully qualified Windows spec. |
| (get_current_directory_name): New function. Retrieves current |
| directory name into internal buffer. |
| (getcwd_inner): Reorganize. Use get_current_directory_name() |
| to retrieve a (possibly cached) directory name. |
| (hash_path_name): Move function here from syscalls.cc. Rewrite to |
| deal (simplistically) with non-absolute path specs. Use |
| get_current_directory_name to absolutize path. |
| * path.h: Reflect additional argument for path_conv. |
| * select.cc (cygwin32_select): Remove newline from select_printf(). |
| * syscalls.cc (hash_path_name): Move to path.cc. |
| (stat_worker): Always use full path spec so that inodes are |
| calculated correctly. |
| * uinfo.cc (getlogin): Make extern "C". |
| * include/sys/resource.h: Put extern "C" around this file. |
| |
| Mon Jun 1 13:16:03 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * console.cc: Comment out small_printfs which issue errors |
| on things like invalid escape sequences. This is very much |
| unlike a normal terminal, or even like linux which console.cc |
| purports to emulate. |
| (console_read): Renamed from FakeReadConsole. Streamline |
| slightly. |
| (fhandler_console::read): Ditto. |
| |
| Fri May 29 22:41:18 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * hinfo.cc: Include unistd.h, not fcntl.h. |
| |
| Fri May 29 21:38:10 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (mount_info::binary_win32_path_p): Don't allow |
| the root mount to replace a //drive or //host specification. |
| |
| Fri May 29 08:20:28 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * winsup.h: Remove exports section in favor of external |
| include files. Fix some comments. |
| * {console.cc, fcntl.cc, pipe.cc}: Include unistd.h. |
| * dcrt0.cc (__main): Make extern "C". |
| * strace.cc: Include time.h. |
| * wait.cc (_wait): Make extern "C". |
| * version.h: Bump minor version to 3 in honor of /dev/windows |
| support. |
| |
| Fri May 29 03:11:28 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * Makefile.in: Add fhandler_windows.o target |
| * fhandler.h: Include <sys/ioctl.h>. fhandler_windows: new |
| fhandler class that handles access to Windows message queue. |
| (fhandler_base::is_windows): new virtual member function |
| * fhandler_windows.cc: New file, fhandler_windows class |
| implementation. |
| * hinfo.cc (hinfo_vec::build_fhandler): build fhandler_windows |
| class for "/dev/windows". Include <sys/ioctl.h>. |
| * select.cc: New fd_windows_map class |
| (fd_windows_map::convert_to_unix_fdset): New, check for Windows |
| messages in a queue. |
| (cygwin32_select): check for windows fd is passed to select call, |
| increase size of harray by one to support windows pseudo-handle, |
| do MsgWaitForMultipleObjects if windows fd passed to select call. |
| |
| Thu May 28 18:22:24 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * utils/cygpath.cc: New file. |
| * utils/Makefile.in (PROGS): Add cygpath$(EXEEXT). |
| (cygpath$(EXEEXT)): Ne target. |
| |
| * include/sys/cygwin.h: Declare more path conversion functions. |
| |
| Thu May 28 15:56:26 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/sys/ioctl.h: need to include <sys/cdefs.h> |
| * syscalls.h: remove ioctl proto |
| |
| Wed May 27 01:34:06 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: add sethostent/endhostent exports |
| * net.cc (sethostent, endhostent): new stubs |
| |
| Fri May 22 17:31:50 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin32/in.h: correct typo in IPPORT_WHOIS define |
| |
| Fri May 22 17:00:48 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/sys/ioctl.h: add ioctl proto |
| |
| Wed May 20 18:52:31 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/sys/param.h: delete, file overlaps with newlib's. |
| Move it to newlib/libc/sys/cygwin32/sys where such files |
| are supposed to go. |
| |
| Wed May 20 18:20:35 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * select.cc (auto_del_fd_set_map::auto_del_fd_set_map): correct |
| C++ problem -- can't use parens in call to new. |
| |
| Wed May 20 17:03:25 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| based on patch from newsham@lava.net (Tim Newsham): |
| * select.cc: FIXMEs added/adjusted |
| (select_sleep): new static select helper function |
| (cleanup_sockthread): ditto |
| (cleanup_pipethread): ditto |
| (cygwin32_select): remove degenerate goto in favor of calling |
| select_sleep, call cleanup_sockthread and cleanup_pipethread |
| instead of previously duplicated code. |
| |
| Wed May 20 02:21:37 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from Christopher Faylor <cgf@cygnus.com> |
| * fhandler.cc (fhandler_serial::raw_read): When |
| vmin_ == 0, vtime_ > 0, don't force only one char at a time |
| to be read. |
| (fhandler_serial::tcsetattr): set to.ReadIntervalTimeout |
| and to.ReadTotalTimeoutMultiplier appropriately so reads |
| will time out properly when vmin_ == 0, vtime_ > 0. |
| |
| Tue May 19 09:05:46 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * init.cc (set_dllname): Use consistent "cygwin32" name for dll |
| if the name of the dll is actually cygwin. This will allow |
| better interoperability between dlls which have been renamed, |
| i.e., cygwindevo.dll -> cygwin98r1.dll. |
| |
| Mon May 18 22:39:35 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * winsup.h: Remove sig* undefs since this is now done in newlib. |
| Define SIGTOMASK define for use by signal mask operations. |
| * exceptions.cc (__cygwin32_exception_handler): Use SIGTOMASK. |
| (sig_handle): Ditto |
| * signal.cc (sigpending): Ditto. |
| (sigaddset): Use SIGTOMASK. Disallow signal 0. |
| (sigdelset): Ditto. |
| (sigismember): Ditto. |
| * strace.cc (strace_printf): It is possible for strace_mutex to |
| be an invalid handle. Open the mutex if so. Call ReleaseMutex |
| until exhausted since a signal may have interrupted an strace_printf. |
| (strace_dump): Call ReleaseMutex until exhausted. |
| * tty.cc (do_output): Remove strace printf to avoid filling up strace |
| output. |
| (fhandler_tty_slave::read): Use SIGTOMASK. |
| |
| Mon May 18 09:11:38 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): Clear errno before calling main. |
| |
| Thu May 14 00:37:01 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * dcrt0.cc: add comments, reformatting |
| |
| Wed May 13 17:47:23 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * times.cc (to_time_t): prevent stat from returning incorrect |
| file modification time (one second less) on fat partitions due |
| to round-up error. |
| |
| Wed May 13 16:03:07 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * select.cc: add comments, FIXMEs, respace, delete old |
| sockets-only case that was previously commented out. |
| (cygwin32_select): in case where handles and sockets are |
| set, don't check that always_ready_used is zero (that case is |
| covered before). |
| * syscalls.cc: delete unused file_queue struct. |
| |
| Tue May 12 18:36:25 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc (get_os_type): add FIXME |
| |
| Tue May 5 14:02:12 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout Cygwin replace use of "sa" SECURITY_ATTRIBUTE variables |
| with appropriate global variables. |
| * shared.cc (shared_init): Initialize global security attribute |
| variables for use in various places around cygwin. |
| * fork.cc (fork_init): Remove. Functionality replaced by above. |
| * dcrt0.cc (dll_crt0_1): Remove obsolete fork_init() call. |
| |
| Sat May 2 17:40:51 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * tty.cc (create_tty_master): Fill in ut_host utmp field with |
| local host name instead of "local" to avoid "who" command timeouts. |
| |
| Fri May 1 22:38:20 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc: Add a global to control com port reset behavior. |
| (parse_options): Recognize "reset_com" as a CYGWIN32 option. |
| * fhandler.cc (fhandler_serial::raw_read): Handle vmin and vtime |
| more like UNIX. |
| (fhandler_serial::open): Revive code to reset com port on open. |
| Only reset the port if reset_com global is not set and if this |
| function is being called explicitly by open. |
| (fhandler_serial::tcsetattr): Make CRTSCTS flow control more |
| like UNIX -- it should turn on hardware handshaking in both |
| directions. Handle vmin and vtime in a manner more consistent |
| with UNIX. |
| (fhandler_serial::tcgetattr): Reflect CRTSCTS changes above when |
| reporting this state. |
| * include/sys/termios.h: Move CRTSCTS and CRTSXOFF (sic) into |
| 16 bits or they will never be capable of being set. |
| |
| Thu Apr 30 15:05:45 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * console.cc (fhandler_console::init): If resetting stdin, |
| make sure to reset the ConsoleCtrlHandler. |
| * exceptions.cc (set_console_handler): New function broken out |
| of init_exceptions(). Sets the function responsible for handling |
| CTRL-C. |
| (init_exceptions): Snipped out set_console_handler. |
| |
| Thu Apr 30 14:11:30 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/sys/cygwin.h: Remove cygnus-specific declaration. |
| * winsup.h: Move cygnus-specific cygwin32_attach_handle_to_fd |
| declaration here. This function may eventually be replaced by |
| an osf_* function. |
| |
| Tue Apr 28 17:07:46 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * passwd.cc (parse, getpass): remove unneeded uses of NO_COPY |
| * grp.cc (getgrgid, getgrnam): ditto |
| |
| Tue Apr 28 16:18:03 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * version.h: bump minor version to 2 |
| * errno.cc: add FIXME |
| |
| Wed Apr 22 15:43:56 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc (cygname): delete |
| * shared.cc (shared_name): new, was cygname |
| * strace.cc, exceptions.cc, sigproc.cc, shared.cc: fix |
| cygname references in light of above |
| |
| Wed Apr 22 14:12:09 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (fd_set_map::remove_pair_by_handle): minor optimization |
| * strace.cc (strace_printf): change format for consistency |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * dcrt0.cc (dll_crt0): Call global constructors explicitly |
| * tty.cc (create_tty_master): Remove code which attempted to |
| invoke tty constructor |
| |
| Tue Apr 21 16:18:27 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc (ucenv): inline |
| (posify): Ditto |
| (environ_init): remove obsolete function use |
| * path.cc (symlink_check_one): Set errno here where appropriate. |
| (readlink): Rely on errno set by symlink_check_one rather than |
| defaulting to EINVAL. Should fix problems with RCS. |
| |
| Tue Apr 21 15:36:41 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * Implement a NOSTRACE preprocessor define to allow building |
| Cygwin32 without any STRACE code. |
| * configure.in: Add entries for architecture specific programs |
| to allow easier cross-compile builds |
| * configure: Ditto |
| * Makefile.in: Ditto |
| * console.cc (fhandler_console::char_command): Fix two problems |
| with cursor position report: 1) it reported position relative |
| to beginning of buffer rather than beginning of screen, 2) it |
| reported y, x in reversed order |
| * dcrt0.cc: Remove NO_COPY from variables that don't need it. |
| Remove variables obsoleted by NO_COPY. |
| (dll_crt0_1): strace settings are now inherited. Don't try |
| to initialize strace early. Remove initialization of variables |
| which are now handled automatically by NO_COPY. Set error mode |
| for Cygwin32 to fail on critical errors rather than popping up |
| a dialog box. |
| * spawn.cc (spawn_guts): Always use default error mode when |
| spawning a new process. Move error message to more generally |
| useful location. Terminate signal handling in a cygwin parent |
| process or two processes will be handling signals. |
| (_spawnve): Inherit strace stuff |
| * exceptions.cc (events_init): Provide more information on |
| "Catastrophic failure". Change error message wording slightly. |
| * fork.cc: Remove obsolete structure |
| (cygwin_fork_helper1): Remove use of obsolete structure. Inherit |
| strace settings in child processes. |
| * sigproc.cc (sigproc_init): Set wait_sig priority immediately |
| after thread creation. |
| * smallprint.c: Remove unneeded include |
| * strace.cc: Reorganize to handle NOSTRACE |
| (strace_open): Use strace entries in pinfo structure which are |
| now inherited |
| (strace_dump): ditto |
| (strace_init): preprocessor define STRACE_HHMMSS causes strace |
| output to use alternate log file format. |
| (strace_printf): ditto |
| * syscalls.cc (access): Remove SetErrorMode in favor of global |
| cygwin32 setting in dll_crt0_1. |
| * fhandler.cc: Handle NOSTRACE |
| * tty.cc: Ditto |
| * window.cc: Ditto |
| * include/sys/strace.h: Ditto |
| * winsup.h: Move strace_file handle from per_process to pinfo so |
| that it can be inherited. Remove obsolete pinfo entry. |
| |
| Tue Apr 21 14:30:52 1998 Christopher Faylor <cgf@cygnus.com> |
| |
| * hinfo.cc (cygwin32_attach_handle_to_fd): New function |
| * include/sys/cygwin.h: Ditto. |
| * cygwin.din: Export new cygwin-specific function |
| |
| Tue Apr 21 02:32:08 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc: comment out file_queue struct that doesn't |
| seem to be used for anything anymore. Don't need to include |
| stdarg.h or sys/socket.h. Include utmp.h. Minor respacing. |
| Move all functions from misc.cc here. |
| (_read): change strace debug printf function name to _read |
| (logout): rename success to res |
| * misc.cc: delete file |
| * Makefile.in: adjust for above change |
| |
| Tue Apr 21 01:45:05 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * dir.cc: new file for directory-related functions, was |
| dirsearch.cc. |
| (mkdir, rmdir, writable_directory): move here from syscalls.cc, |
| writable_directory no longer static |
| * dirsearch.cc: delete file |
| * winsup.h: add proto for writable_directory. |
| * errno.cc: new file for errno-related functions, move errmap |
| struct here from syscalls.cc |
| (seterrno): move from syscalls.cc |
| (strerror): move from strerror.cc |
| * strerror.cc: delete file |
| * syscalls.cc: delete everything moved to any of the above files |
| * Makefile.in: adjustments for above |
| |
| Thu Apr 17 16:43:23 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * termios.cc: add comments, add extern "C" in front of exported |
| calls, move debugging local functions to end of file |
| * winsup.h: remove fork_terminate proto for function that is no |
| longer with us. Add strccpy proto. |
| * spawn.cc (_spawnve): make static |
| (strccpy): remove in favor of identical function in exec.cc |
| * exec.cc (strccpy): no longer static |
| |
| patch from newsham@lava.net (Tim Newsham): |
| * select.cc (cygwin32_select): fix off by one error, stop |
| using memcpy to copy memory over itself |
| |
| Thu Apr 16 16:23:00 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * net.cc: respace, put all fhandler_socket functions together |
| (getsockopt): fix case statement bug resulting in faulty strace |
| output |
| (setsockopt): ditto |
| * shared.cc: throughout, rename global h to cygwin_shared_h |
| * strerror.cc: make error global a local variable |
| * fhandler.h: add comments, add virtual function always_read_ready |
| to fhandler_serial which should return zero to allow non-blocking |
| serial I/O. |
| * Makefile.in: select.cc should depend on select.h |
| |
| Wed Apr 15 16:14:01 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * select.h: new file, containing macros used by select.cc. |
| * select.cc: remove them from here, include select.h |
| |
| Wed Apr 15 15:23:55 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * ntea.cc (NTReadEARaw): mark as static, don't check allow_ntea |
| since this is only accessed by functions that have already checked |
| it. |
| |
| Tue Apr 14 14:07:54 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: export truncate call |
| |
| Mon Apr 13 23:15:13 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Throughout Cygwin32, rename *u for per_process data *user_data. |
| Likewise, rename *s for shared memory data *cygwin_shared. |
| Respace where necessary. |
| * registry.cc: minor respace |
| * registry.h: ditto |
| * net.cc: ditto |
| * fhandler.cc (fhandler_base::read): don't redeclare int len |
| * syslog.cc: add FIXME, reformatting, remove extern "C" around |
| whole file, add before exported functions |
| (syslog): rename second cp char pointer cp2 |
| (setlogmask): comment out unused function |
| |
| Mon Apr 13 17:55:43 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * environ.cc (parse_options): add "ntea" setting to CYGWIN32 |
| env variable. Setting determines whether NTEA is used or not. |
| * ntea.cc: Add allow_ntea global which is inited to FALSE. |
| Now instead of immediately returning FALSE, make all |
| functions check allow_ntea variable and use or not use NTEA |
| based on its value. |
| * ps.cc (main): widen Win32_pid field by one to better handle |
| Win 95 pids. |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * shared.cc (shared_info::initialize): increase default |
| heap_chunk_size to 128 mb to get around the problem that |
| Cygwin32 still can't cope with a split heap properly. |
| |
| Wed Apr 8 18:04:07 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * net.cc (cygwin32_bind, cygwin32_getsockname, cygwin32_listen, |
| cygwin32_shutdown): if should check sock, not s. |
| |
| Wed Apr 8 15:00:46 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Eliminate warnings revealed by -Wshadow -Wall: |
| * console.cc (FakeReadFile): fix aggregate with partly bracketed |
| initializer (add missing brackets). |
| * tty.cc (fhandler_tty_slave::close): remove unused variable tty |
| (fhandler_tty_slave::dup): ditto |
| (fhandler_tty_slave::send_ioctl_request): ditto |
| |
| Wed Apr 8 03:04:11 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Eliminate warnings revealed by -Wshadow -Wall: |
| * console.cc (FakeReadFile): change variable name index to |
| modifier_index. |
| (fhandler_console::read): remove second definition of flags |
| * dcrt0.cc (build_argv): rename s to start, e to end |
| (insert_files): reformat, add parens around assign used as truth |
| value, make i a DWORD, remove dup def of i. |
| * dlfcn.cc (set_dl_error): rename s to str |
| (checkAccess): rename to check_access |
| (checkPathAccess): rename to check_path_access |
| (getFullPathOfDll): rename to get_full_path_of_dll, don't |
| redeclare len |
| * dll_init.cc (DllList::detachDll): rename index to dll_index |
| * fork.cc (cygwin_fork_helper1): rename index to dll_index, |
| reformat slightly, rename res in dll load section to loadres, |
| don't redeclare rc two additional times |
| (dump_jmp_buf): rename s to sbuf |
| * grp.cc (initgroups): rename group arg to grp |
| * hinfo.cc (digits): rename s to str |
| (hinfo_vec::build_fhandler): rename first buf variable to |
| buf_info, the second to buff. |
| (hinfo_vec::linearize_fd_array): cast sizeof return to int, |
| declare i in for loop |
| (hinfo_vec::de_linearize_fd_array): declare i in for loop |
| * misc.cc (nice): rename pri to priority, index to curr |
| (cygname): rename s to str |
| (login): rename tty to currtty |
| (logout) put missing parens around arg to sizeof calls |
| * net.cc (DuplicateSocket): rename function to duplicate_socket, |
| rename s arg to sock |
| (fhandler_socket::fhandler_socket): rename s arg to sock |
| (socketpair): rename sin to sock_in |
| (cygwin32_rexec): rename passwd arg to password |
| * passwd.cc (parse): rename stat array to tmpbuf |
| * resource.cc (fill_rusage): rename creation to creation_time, |
| exit to exit_time, kernel to kernel_time, user to user_time |
| (getrusage): rename rusage arg to rusage_in |
| * sigproc.cc (proc_terminate): move i declaration outside of |
| loop, get rid of extra declaration |
| (getsem): rename s to str |
| (proc_strace): declare i at top of function, remove extra two |
| declarations of it later |
| * smallprint.c: include ctype.h for isalnum proto |
| (__small_vsprintf): put parens around assign used as truth value |
| * spawn.cc (spawn_guts): rename both s variables to str, remove |
| redeclarations of i |
| * strace.cc (mark): rename s arg to str |
| * syscalls.cc (chown): remove unused vars group, passwd |
| (access): rename s to st |
| (ctermid): rename s to str |
| * termios.cc (cfsetospeed, cfsetispeed): rename s to speed |
| * times.cc (times): rename creation to creation_time, |
| exit to exit_time, kernel to kernel_time, user to user_time |
| (time_t_to_filetime, timeval_to_filetime): rename time to time_in |
| * tty.cc (create_tty_master): rename utmp variable our_utmp |
| (fhandler_tty_master::init): rename ttynum arg ttynum_in |
| |
| Tue Apr 7 17:18:05 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc (seterrno): add FIXME |
| * path.cc (symlink_check_one): change comment wording |
| |
| patch from Tom Tromey (tromey@cygnus.com) |
| * syscalls.cc (access): Call SetErrorMode to turn off critical |
| errors dialog. |
| |
| patch from Mikey (jeffdb@netzone.com): |
| * fhandler.cc (fhandler_disk_file::open): under Win95, set |
| S_IXOTH|S_IXGRP|S_IXGRP if the first two bytes of a file contain |
| a '#!'. |
| (fhandler_disk_file::check_execable_p): consider shell scripts |
| execable |
| |
| Mon Apr 6 20:55:06 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/sys/cygwin.h: add protos for cygwin32 path conversion |
| functions. |
| |
| Wed Apr 1 16:12:58 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * {fhandler.cc, fhandler.h, hinfo.cc, console.cc}: Rename |
| fhandler_tty class to fhandler_serial |
| |
| Tue Mar 31 16:27:36 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * ntea.cc: temporarily disable reading/writing NTEA information |
| due to the large penalty incurred on NT fat partitions. |
| |
| Fri Mar 27 13:35:30 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * environ.cc (parse_options): change struct to union to avoid |
| references to uninitialized fields. |
| |
| Thu Mar 26 19:03:00 1998 Eric Bachalo <ebachalo@cygnus.com> |
| |
| * dcrt0.cc (insert_files): added this function to replace |
| -@file in the command line with the contents of the file |
| (dll_crt0_1): calls insert_files before building argv |
| |
| Wed Mar 25 15:25:26 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| And more: |
| * {fhandler.cc, fhandler.h, tty.cc, net.cc, console.cc}: make |
| ioctl calls' cmd arg unsigned, ditto for access arg of init calls. |
| * console.cc (fhandler_console::fillin_info): add parens around |
| assignment used as truth value. |
| (FakeReadFile): make copied_chars a size_t |
| (fhandler_console::read): make i in loop unsigned |
| * environ.cc (setenv): make l_value unsigned, add parens around |
| assignments used as truth values. |
| * exceptions.cc (call_handler): supposed to return an int and |
| wasn't at the end of control flow. Now returns 1 there. |
| * fhandler.h (~fhandler_base): destructor should be marked virtual |
| * misc.cc (login): add parens around assignment used as truth |
| value. |
| * net.cc: cast INVALID_SOCKET to int in comparisons |
| (fhandler_socket::ioctl): remove int cast to FIONBIO since cmd |
| is now unsigned |
| (get_win95_ifconf): add cast to signed vs unsigned int comparison. |
| * ntea.cc (NTReadEA): add cast to signed vs unsigned int |
| comparison. |
| * path.cc (getcwd_inner): make len a size_t |
| * pinfo.cc (cygwin32_winpid_to_pid): add comment |
| * select.cc (cygwin32_select): make wait_ret an int |
| * signal.cc (kill_worker): add parens around assignments used as |
| truth values. |
| * sigproc.cc (wait_sig): make rc a DWORD |
| (sig_send): add parens around assignment used as truth value. |
| * strace.cc: make inqueue global a static DWORD |
| * tty.cc (do_output): add cast to signed vs unsigned int |
| comparison. |
| (fhandler_pty_master::open): remove unused handle nh |
| |
| Tue Mar 24 18:03:59 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| More spring cleaning: |
| * net.cc: move LOAD macro definition out of winsock_init, |
| correction to make it valid ANSI C++. |
| * grp.cc (read_etc_group): pass default line directly to |
| add_grp_line call |
| |
| Mon Mar 23 19:21:00 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor): |
| * spawn.cc (spawn_guts): Don't call close_all_files if a cygwin |
| process has been spawned. Otherwise, we close tty handles twice. |
| |
| Fri Mar 20 23:01:24 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * pinfo.cc (pinfo_list::init): Initialize next_pid to PBASE. |
| (pinfo_list::operator []): Now index is given by pid mod size(). |
| (pinfo_list::allocate_pid): Allow more pid numbers than spaces in |
| the process table. Pids now can range from PBASE (1000) to |
| INT_MAX. At that point they wrap to 1000 again. For speed, use |
| modular arithmetic to map pids into table. |
| * winsup.h: move PBASE to pinfo.cc, rename next_pid_index to |
| next_pid |
| * utils/ps.cc (main): reorg of what's printed where, listing pid |
| first. |
| |
| Thu Mar 19 15:05:07 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * winsup.h: Change section name in NO_COPY definition. We were |
| using a .data$nocopy section to avoid copying certain data on |
| fork. The linker used to include this between __data_start__ and |
| __data_end__, but that broke building the cygwin32 dll. The fix |
| is to rename the section ".data_cygwin_nocopy" and explictly |
| include it after __data_end__. |
| |
| Wed Mar 18 15:03:51 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * tty.h: fix ttyslot proto; it returns an int |
| * glob.h: fix glob proto; it returns an int |
| |
| Mon Mar 16 16:16:40 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: stop installing the dll in the lib directory as |
| well as the bindir. |
| * environ.cc (parse_options): don't need to call malloc |
| |
| Mon Mar 16 11:56:23 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor): |
| * tty.cc (fhandler_tty_slave::dup): Don't set flags to 0. Flags |
| have already been set in wrapper. |
| * net.cc: Rename `s' variable which shadows global `s'. |
| * termios.cc: ditto |
| * time.cc: ditto |
| |
| Tue Mar 10 15:54:04 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * version.h: up CYGWIN_DLL_VERSION_MINOR |
| |
| Tue Mar 10 15:41:29 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor): |
| * spawn.cc (spawn_guts): Make argument handling after `#! pgm' |
| handle spaces similarly to UNIX. Close "linearized" file handles |
| when a non-cygwin32 binary is executed or suffer hangs on exit. |
| Reorganize lpReserved2 buffer to avoid conflicts with Microsoft |
| usage which resulted in incorrect stdin/stdout operation with |
| programs compiled using MSVC. |
| * pinfo.cc (pinfo_init): Accommodate change to lpReserved2 |
| organization. |
| |
| Mon Mar 9 19:27:17 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc (_open): modify to take a variable number of |
| arguments to match newlib's fcntl.h. |
| * environ.cc (parse_options): rewrite struct known to conform |
| to ANSI standards. Can't statically initialize, so do so |
| dynamically at the beginning of the function instead. |
| |
| patch from jeffdb@netzone.com (Mikey): |
| * dcrt0.cc (build_argv, compute_argc): need to escape quotes |
| |
| Sat Feb 28 16:41:54 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * fhandler.cc (fhandler_base::init): call set_flags based on |
| access arg. |
| * net.cc: include fcntl.h |
| (fhandler_socket::fhandler_socket): made sockets O_RDWR |
| |
| Thu Feb 26 23:41:54 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Beta 19 release made. |
| |
| Sun Feb 22 23:46:31 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * Makefile.in: Do not link cygwinb19.dll with libwsock32.a |
| * exceptions.cc: add proto for i_WSACleanup. |
| (sig_handle): call *i_WSACleanup if winsock was inited. |
| * hinfo.cc: add proto for i_getpeername. |
| (hinfo_vec::build_fhandler): call *i_getpeername if winsock |
| was inited |
| * net.cc: wsock32, i_wsockimports - new globals. Throughout |
| file, call winsock functions via indirect pointers. |
| (winsock_init): dynamically load wsock32.dll and resolve addresses |
| of exports. |
| (cygwin32_rcmd, cygwin32_rexec, cygwin32_rresvport): resolve |
| addresses of exports. |
| * select.cc: add protos for i___WSAFDIsSet, i_WSAGetLastError, |
| i_select, i_socket, i_closesocket. WINSOCK_FD_ISSET changed to |
| use indirect pointer. Direct winsock calls changed to indirect. |
| (cygwin32_select): initialize winsock before calling select in |
| degenerate case. |
| * winsup.h: remove protos for ScreenRows, ScreenCols, |
| ScreenGetCursor, ScreenSetCursor. |
| |
| Sun Feb 22 17:44:55 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * environ.cc (parse_options): comment out -- no longer |
| compiles with egcs. Will rewrite/enable later. |
| |
| Sun Feb 22 13:49:10 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.h: remove protos for _open, _read, _write since |
| they are in newlib headers that are already included |
| * syscalls.cc (_read): return int, not ssize_t |
| (_write): ditto |
| |
| Sat Feb 21 14:21:17 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: rename dll to cygwindevo.dll |
| |
| Sat Feb 21 01:33:56 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove dup definition of endpwent |
| |
| Thu Feb 19 14:20:21 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/cygwin32/cygwin_dll.h: Correct protection wrapper |
| |
| Tue Feb 17 20:21:24 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/Windows32/Structures.h: tagBITMAPFILEHEADER should |
| be packed. |
| |
| Tue Feb 17 19:34:41 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor): |
| * cygwin.din: export sigpause |
| * signal.cc (sigpause): New "compatibility interface" to |
| sigsuspend function. Used currently by inetutils. |
| |
| Tue Feb 17 11:43:27 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * tty.h (class tty): Add slave_opened field. |
| * tty.cc (fhandler_tty_master::init): Initialize slave_opened. |
| (do_output): Only return with EOF if the slave has been opened. |
| (fhandler_tty_slave::open): Set slave_opened. |
| (fhandler_pty_master::open): Initialize slave_opened. |
| |
| * tty.cc (fhandler_pty_master::read): Change type of n to DWORD. |
| If there are no characters to read, and the descriptor is in |
| nonblocking mode, just return EGAIN. |
| |
| Mon Feb 16 15:11:25 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * tty.h (class tty): Remove handle_pid and slave_handles fields. |
| (class tty_list): Add getcount method. |
| * tty.cc (tty::init): Initialize input_handle and output_handle. |
| (tty_list::free_tty): If we just freed the last reference to this |
| tty, close input_handle and output_handle. |
| (fhandler_tty_master::init): Don't initialize handle_pid and |
| slave_handles. |
| (do_output): Instead of just calling ReadFile, loop using |
| PeekNamedPipe and check whether the tty has been closed. Return 0 |
| on EOF and -1 on error. |
| (process_output): Only print debugging error message if error |
| occurs in do_output. |
| (fhandler_tty_slave::open): Always duplicate handles from master. |
| Never close handles in source. Don't change slave_handles. |
| (fhandler_tty_slave::close): Don't change slave_handles, and don't |
| close tty handles. |
| (fhandler_tty_slave::linearize): Call attach_tty. |
| (fhandler_tty_slave::de_linearize): Don't call attach_tty. |
| (fhandler_tty_slave::dup): Don't increment slave handles. |
| (fhandler_pty_master::open): Don't initialize handle_pid and |
| slave_handles. |
| (fhandler_pty_master::close): Don't check slave_handles, and don't |
| close tty handles. |
| (fhandler_pty_master::read): Handle EOF return value from |
| do_output. |
| (fhandler_pty_master::linearize): Call attach_tty. |
| (fhandler_pty_master::de_linearize): Don't call attach_tty. |
| |
| * fork.cc (cygwin_fork_helper1): Copy strace_mask from parent to |
| child. |
| |
| Thu Feb 12 20:33:57 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor): |
| * utils/cygwin.cc: Modify -s option to use new strace_mask entry |
| in pinfo. Prepare for future ability to specify an strace file. |
| |
| Thu Feb 12 11:57:26 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * grp.cc (read_etc_group): add a default /etc/group in memory |
| if /etc/group isn't found |
| (getgrnam): return NULL if requested group isn't found instead |
| of returning a default group |
| |
| Wed Feb 11 15:59:10 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * strace.cc (strace_open): do not close u->strace_file if it |
| points to stderr. |
| * malloc.cc (malloc_init): do not check for application's malloc |
| in a forkee, this breaks memory coherency in a forkee and forker. |
| use_internal_malloc flag now copies on fork. |
| |
| Tue Feb 10 18:11:30 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor) |
| Throughout sources, mark statics and globals as NO_COPY where |
| appropriate. |
| * fork.cc (cygwin_fork_helper1): Remove #if 0 around fork_copy of |
| cygwin data/bss. Remove __malloc_copy since it is no longer |
| necessary. |
| |
| Tue Feb 10 15:30:19 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor) |
| * console.cc (fhandler_console::write): Implement xterm style |
| escape sequences for setting title in the console title bar. |
| * fhandler.h: Define constants for console title escape sequence. |
| |
| Tue Feb 10 14:16:17 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/a.out.h: remove junk chars introduced by mailer |
| when this header was sent to us |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * libccrt0.cc: rename cygwin_attach_dll to cygwin32_attach_dll |
| |
| patch from cgf@bbc.com (Christopher Faylor): |
| * environ.cc: fix off by one problem |
| |
| Mon Feb 9 14:56:00 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: add registry.h to environ.o deps |
| |
| Mon Feb 9 14:42:24 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * Makefile.in (DLL_OFILES): Rename dllinit.o to dll_init.o. |
| |
| * tty.cc (fhandler_tty_slave::close): Don't close the tty handles |
| if the slave and the master are the same process. |
| |
| * path.cc (read_mounts): Change key parameter to reference, to |
| avoiding running the destructor. |
| |
| Mon Feb 9 13:53:50 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Christopher Faylor): |
| Moves all environment manipulation into environ.cc. |
| Switches to CYGWIN32 for settings: |
| set CYGWIN32=[no]title [no]strip_title [no]binmode [no]glob |
| strace=mask:cache,file [no]tty |
| (set STRACE=whatever is still honored). |
| Propagates tty settings to all subprocesses regardless of |
| unsetting of environment variable. |
| Moves strace mask into pinfo structure for easier future |
| manipulation by external program. Moves strace_file into the |
| vacated position for automatic use in forked processes. |
| Propagates old title to execed processes so that they can |
| correctly restore the correct title when they exit. |
| * console.cc: Use PID_USETTY setting in process_state so that |
| tty state can be easily inherited. |
| (set_console_title): New function to set console title. |
| * syscalls.cc: Use PID_USETTY setting in process_state so that |
| tty state can be easily inherited. |
| * tty.cc: Ditto. |
| * hinfo.cc: Ditto. |
| (hinfo_vec::de_linearize_fd_array): Return last location in buffer |
| for further potential processing. |
| * dcrt0.cc: Add global variables for control of glob and title, |
| set by environ_init. Mark some variables as NO_COPY. |
| Remove routines and variables for dealing with environment. |
| (dll_crt0_1): Move environment initialization into separate |
| function. Honor 'noglob' CYGWIN32 setting. |
| * environ.cc (environ_init): New function to initialize the |
| environ table. Also scans for CYGWIN32 environment variable, |
| setting appropriate values. |
| (ucenv): New function. Upper cases an environment variable. |
| (parse_options): New function. Parse CYGWIN_* environment |
| variable. |
| (posify): New function. Convert a Windows env path spec to |
| cygwin. |
| (env_sort): New function. Sort an environ block. |
| (winenv): New function. Returns a windows style environment |
| block. |
| * fhandler.cc (fhandler_base::read): Reflect change to location of |
| strace_mask. |
| * fork.cc (cygwin_fork_helper1): Remove save/restore of some |
| settings since this is automatic now with new dll data copy. Save |
| PID_USETTY setting in child process_state. |
| * strace.h: Cosmetic change. |
| * pinfo.cc (pinfo_init): Call environ_init here since it may |
| affect further processing in this function. Use old console title |
| from "parent" process if execed process. Reflect change to |
| location of strace_mask. |
| * spawn.cc (spawn_guts): Remove environment manipulation code. |
| Use new winenv function call instead. Save old title in block of |
| memory copied to newly execed process if title is being displayed. |
| * strace.cc: Changes to reflect new location for strace_mask and |
| strace_file. These are now automatically inherited on fork. |
| * winsup.h: Move strace_mask into pinfo to allow possible |
| manipulation by other processes. Put u->strace_file in uptr |
| structure so that it will be automatically duplicated on fork, |
| removing the necessity of initializing strace in a forked |
| process. Add functions/variables associated with environment |
| manipulation and console title setting. |
| |
| Mon Feb 9 03:06:56 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Extensive reformatting in new files from next patch. |
| Rename dllinit.h file to dll_init.h and likewise for dll_init.cc. |
| Rename cygwin_detach_dll to cygwin32_detach_dll throughout. |
| Similarly, rename cygwin_attach_dll and _cygwin_dll_entry. |
| And rename sanityAndSyncCheck to check_sanity_and_sync. |
| Also: |
| * dll_init.h: don't include winsup.h |
| * dll_init.cc: include winsup.h here instead |
| * dlfcn.cc: include winsup.h, don't include windows.h |
| * cygwin.din: rename cygwin_detach_dll to cygwin32_detach_dll. |
| |
| patch from giac@dalim.de (Philippe Giacinti): |
| Copy data areas of cygwin-compiled dlls on fork(), |
| implement dlopen/dlsym/dlclose/dlerror calls. |
| * Makefile.in: add dlfcn.o and dllinit.o to DLL_OFILES, add |
| dllinit.h dependencies |
| * cygwin.din: dll_dllcrt0, cygwin_detach_dll, dlopen, dlclose, |
| dlsym, dlerror, dlfork -- new exports. |
| * dcrt0.cc: include dllinit.h, mark u pointer as NO_COPY. |
| (sanityAndSyncCheck): new, code moved from dll_crt0_1. |
| Initialize all linked dlls before calling main(). |
| * dlfcn.cc: new file. |
| * dllinit.cc: new file. |
| * dllinit.h: new file. |
| * exceptions.cc: mark some variables with NO_COPY. |
| * fork.cc: include dllinit.h; declare cygwin.dll data/bss |
| start/end. |
| (cygwin_fork_helper1): copy data/bss of cygwin.dll itself to child |
| process (the code is disabled now); copy data areas of |
| linked/loaded dlls (if any); free loaded dll list on cleanup. |
| * include/cygwin32/cygwin_dll.h: new file. |
| * include/dlfcn.h: new file. |
| * libccrt0.cc (cygwin_crt0_common): new, code derived from |
| cygwin_crt0, MainFunc parameter added. |
| (cygwin_crt0): call cygwin_crt0_common. |
| (cygwin_attach_dll): new. |
| * shared.cc: mark some data as NO_COPY |
| * strace.cc: mark some data as NO_COPY |
| * winsup.h: add dll_dllcrt0 proto, NO_COPY macro. |
| |
| Sun Feb 8 17:51:26 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * getopt.c: new. Import Berkeley getopt code modified for use |
| in Cygnus' kerberos implementation (including the writing of |
| getopt_long by Chris Provenzano (proven@cygnus.com)) then modified |
| a bit more to get it working in Cygwin32. Although we were |
| going to remove getopt, it appears that too many programs would |
| need fixing to remove it completely. Whether getopt should be |
| included in Cygwin32 should be decided at a later time. |
| * include/getopt.h: new. Import Berkeley getopt.h. |
| * Makefile.in: add getopt.o to LIBCOS |
| * utils/Makefile.in: remove include of ../../include since |
| getopt.h is now in winsup/include, also revert recent change |
| of addition of GETOPT_OBJS. |
| |
| Fri Feb 6 16:28:19 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * cygwin.din: remove set_new_handler and cygwin_set_attributes |
| exports |
| * version.h: up major version number |
| * Makefile.in: rename dll to cygwinb19.dll |
| * syscalls.cc (cygwin_set_attributes): axe |
| |
| Thu Feb 5 18:28:37 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/Windows32/Functions.h: add protos for |
| DdeCmpStringHandles and DdeCreateDataHandle |
| * Makefile.in: stop including ../libiberty/getopt* since |
| we aren't exporting or using them |
| * utils/Makefile.in: add new variable for libiberty getopt objs |
| which is linked in for cygwin.exe |
| |
| Thu Feb 5 17:59:12 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| syscalls.cc: move ppc dll_entry asm code to... |
| dcrt0.cc: ...here |
| |
| Import new globbing code from NetBSD 1.3 |
| * glob: delete subdirectory |
| * glob.c: new file |
| * glob.h: new file |
| * Makefile.in: remove glob from submakes, remove glob/libglob.a |
| from DLL_IMPORTS, fix dcrt0 glob.h dependency |
| * configure.in: don't configure glob subdirectory |
| * configure: regenerate |
| * dcrt0.cc: include glob.h, not glob/glob.h. |
| (globify): don't call glob with GLOB_NOESCAPE which isn't a valid |
| flag with this glob |
| |
| Wed Feb 4 16:14:13 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| Allow system administrator to enter into the HKLM registry tree |
| a predefined mount table inherittable by all cygwin users. The |
| predefined mounts are non-mandatory so the user's mount table has |
| a higher priority than the default one. Cygwin reads HKLM tree |
| in read-only mode. |
| * path.cc (read_mounts): new, code derived from |
| mount_info::from_registry(). |
| (mount_info::from_registry): call read_mounts from user's table, |
| then from system-wide mount table. |
| * registry.cc (reg_session::reg_session): key and access arguments |
| added. |
| (reg_key::init): access argument added. |
| (reg_key::reg_key): access argument added. |
| * registry.h (class reg_key): init prototype changed, default |
| argument of reg_key added. |
| (class reg_session): default arguments of constructor added. |
| |
| Wed Feb 4 15:38:59 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * include/a.out.h: new coff header file |
| |
| Wed Feb 4 01:55:18 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * uinfo.cc: define DEFAULT_UID/GID here |
| * winsup.h: removed DEFAULT_UID/GID defs and unused |
| set_console_title proto. Did some major reorganizing, |
| and a little reformatting, commenting. |
| |
| Tue Feb 3 23:59:23 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| Replace u->self and this_procinfo () with new `myself' pointer |
| wherever appropriate. Also replace get_pid() calls with a |
| simple ->pid reference. |
| |
| Mon Feb 2 12:34:49 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from sos@prospect.com.ru (Sergey Okhapkin): |
| * console.cc (FakeReadFile): limit bytes to read to 30000 due to |
| Win NT 4.0 SP3 bug. Kill foreground process group with SIGWINCH |
| on console buffer size change if tty support enabled. |
| * include/sys/termios.h: define more constants. |
| * tty.cc (fhandler_pty_master::ioctl): kill foreground process |
| group with SIGWINCH on window resizing. |
| |
| Mon Feb 2 12:14:49 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * dcrt0.cc (dll_crt0_1): Initialize u->self here, early in a |
| forked process so the correct pid is used in strace output and so |
| signals do not end up being erroneously sent to the parent. |
| * exceptions.cc: Make a global variable static. Some minor |
| optimizations. |
| (call_handler): Make sure that the signal mask is restored when |
| sig_dispatch mutex is unavailable. |
| Reorder asm statements to prevent clobbering of flags register by |
| preceding ors or risk random inexplicable behavior when returning |
| from a signal handler. |
| * fork.cc (cygwin_fork_helper1): Put setjmp restore in child's |
| pinfo. Have the child figure out its pid earlier in the |
| initialization process. Don't print a "child failed" error if the |
| child failed during initialization due to a CTRL-C. This is still |
| not quite right (see comment). |
| * sigproc.cc (sig_send): Remove unlock/lock_pinfo or suffer |
| consistent hangs in zsh. Make {allow,block}_sig_dispatch globally |
| available. |
| (wait_sig): Fix problem where blocked signals would still be |
| processed if queued. Add debugging SIGNOQUEUE conditional to turn |
| off signal queueing, making cygwin more like traditional UNIX. |
| * sigproc.h: Add {allow,block}_sig_dispatch functions. |
| |
| Mon Jan 26 17:33:57 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * path.cc (mount_info::init): don't hardcode C: as the default |
| slash mount. Instead, use the drive letter that the OS is loaded |
| on. |
| |
| Mon Jan 26 13:33:57 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * fork.cc (cygwin_fork_helper): Move setting PID_INITIALIZING |
| process_state here to avoid erroneously setting it permanently |
| via proc_register(). |
| * pinfo.cc (pinfo_init): Delay notifying "parent" when execing |
| until this process is ready to receive signals or risk a race |
| condition if exec parent calls sigproc_terminate prior to |
| the child exec. |
| * sigproc.cc (proc_subproc): Don't set PID_INITIALIZING here. |
| It is too late in the process creation. |
| (sig_send): Reset sigsuspend mutex prior to use to avoid a race. |
| (wait_sig): Create sigsuspend mutex as an auto reset to attempt |
| to avoid a race condition. Notify parent that this process is |
| ready if we were execed (code moved from pinfo_init). Change |
| PulseEvents to SetEvents to avoid races |
| * spawn.cc (spawn_guts): Move setting PID_INITIALIZING |
| process_state here to help avoid race. |
| |
| Fri Jan 23 12:31:37 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * malloc.cc (malloc_critical_section): New static variable. |
| (malloc_init): New function. |
| (__malloc_lock, __malloc_unlock): New functions. |
| * winsup.h (malloc_init): Declare. |
| * heap.cc (heap_init): Call malloc_init. |
| |
| Thu Jan 22 18:46:40 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * tty.h (class tty): Change slave_handles to int. |
| * tty.cc (fhandler_tty_slave::open): Check for invalid tty |
| handles. If this is the first slave, set slave_handles to 2; |
| otherwise, increment slave_handles. |
| (fhandler_tty_slave::close): Only close the tty handles if the |
| slave_handles field drops to 1. |
| (fhandler_tty_slave::write): Add a debugging message if WriteFile |
| fails. |
| (fhandler_tty_slave::dup): Set ttynum of new fhandler. Increment |
| slave_handles if appropriate. |
| (fhandler_pty_master::close): Only close the tty handles if the |
| tty is no longer allocated. |
| |
| * tty.h (class tty): Add handle_pid and slave_handles fields. |
| * tty.cc (attach_tty): Call connect_tty even if use_tty is not |
| set. |
| (detach_tty): Don't check use_tty. |
| (fhandler_tty_master::init): Initialize handle_pid and |
| slave_handles of tty. |
| (do_input): Treat \r as end of line character. |
| (do_output): Only set output_done_event if it is not NULL. |
| (fhandler_tty_slave::open): Don't worry if we can't open |
| output_done_event. Check slave_handles field of tty to decide |
| from where to duplicate the handles. Call detach_tty on error. |
| If we are now the owner of the slave handles, mark the tty |
| appropriately. |
| (fhandler_tty_slave::close): Only close output_done_event if it is |
| not NULL. Check for errors from CloseHandle. Close the tty |
| handles if we own them. |
| (fhandler_tty_slave::write): Only wait for output_done_event if it |
| is not NULL. |
| (fhandler_tty_slave::read): If nobody owns the tty, return EOF. |
| (fhandler_tty_slave::dup): Attach the tty. Don't duplicate |
| output_done_event if it is NULL. Detach the tty on error. |
| (fhandler_pty_master::open): Initialize handle_pid and |
| slave_handles of tty. Don't create output_done_event. |
| (fhandler_pty_master::close): Only close output_done_event if it |
| is not NULL. Check for errors from CloseHandle. Only close the |
| tty handles if we own them. |
| (fhandler_pty_master::read): Only set output_done_event if it is |
| not NULL. |
| * hinfo.cc (de_linearize_fd_array): Don't set use_tty just because |
| we find a tty to delinearize. |
| |
| Wed Jan 21 21:58:27 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * sigproc.cc: Changes in wait_sig/sig_send semaphore/event |
| signaling to attempt to eliminate races. |
| |
| Tue Jan 20 16:11:05 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Remove last remnants of the mixed case handling support. |
| * path.cc (path_conv::path_conv): remove mixed_p init |
| (mount_info::from_registry): don't check for fmixed |
| (mount_info::to_registry): ditto |
| (mount_item::getmntent): when setting ret.mnt_opts, only consider |
| text vs binary flag |
| (mount_item::init): remove init of mixed |
| * path.h: remove mixed_p, mixed from path_conv class. Remove |
| unmixedcaseify proto. |
| * include/sys/mount.h: comment out MOUNT_MIXED define, protect |
| header against multiple inclusion |
| |
| A little header file cleanup. Mostly to protect headers against |
| multiple inclusion. Some aren't strictly speaking necessary but... |
| * include/sys/cygwin.h: protect header against multiple inclusion |
| * include/sys/smallprint.h: ditto, also add cplusplus wrapper |
| * include/sys/strace.h: comment last endif |
| * include/cygwin32/in.h: change _LINUX_IN_H protect defines |
| to _CYGWIN32_IN_H |
| * include/arpa/inet.h: protect header against multiple inclusion |
| * include/asm/types.h: ditto |
| * include/net/if.h: ditto |
| * include/netinet/ip.h: ditto |
| * include/netinet/ip_icmp.h: ditto |
| * include/netinet/in.h: ditto, remove commented out real header |
| file |
| * include/fcntl.h: protect header against multiple inclusion |
| * include/memory.h: ditto |
| * include/mntent.h: ditto |
| * include/strings.h: ditto |
| * include/syslog.h: ditto |
| * include/termio.h: ditto |
| |
| Tue Jan 20 12:51:59 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * strace.cc (strace_stderr): New static variable. |
| (strace_init): Set strace_stderr. |
| (system_printf): If not strace_stderr, use debug_printf to put the |
| message in a trace file. |
| |
| * fhandler.h (fhandler_pty_master): Add neednl_ field. |
| * tty.h (RESTART_OUTPUT_EVENT): Change to be different from |
| IOCTL_DONE_EVENT. |
| * tty.cc (fhandler_tty_master::init): Initialize neednl_. |
| (do_output): Handle a length of one by using neednl_ to record an |
| expansion of \n to \r\n which doesn't fit. Never expand \r to |
| \r\n. Correct order of \r\n. |
| (fhandler_tty_slave::open): Improve error handling. Use |
| DUPLICATE_CLOSE_SOURCE to close the pipes in the master process. |
| (fhandler_tty_slave::dup): Duplicate the handles, rather than |
| calling fhandler_tty_slave::open. |
| (fhandler_pty_master::open): Initialize neednl_. |
| (fhandler_pty_master::read): Return EOF for ERROR_BROKEN_PIPE, |
| rather than error. Set errno correctly. |
| * hinfo.cc (digits): New static function. |
| (build_fhandler): Always accept /dev/ptmx and /dev/ttyDDD, even if |
| use_tty is not set. use_tty now only controls the interpretation |
| of /dev/tty. |
| |
| Mon Jan 19 14:49:45 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * sigproc.cc (sig_send): lock_pinfo_for_update during this |
| function |
| |
| Fri Jan 16 18:09:59 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * sigproc.cc (sigproc_init): if we can't create a signal |
| thread or can't create sync_proc_subproc mutex, fail with |
| an api_fatal call rather than just returning |
| |
| Fri Jan 16 18:08:49 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| Changed signal handling to use one semaphore and one shared |
| memory array which is manipulated via Interlocked*() functions. |
| * exceptions.cc (lock_cs): Comment. Report on error. |
| (unlock_cs): Add debugging statement. |
| (sig_dispatch_pending): Remove obsolete function. |
| (set_process_mask): Adapt to new signal method. |
| (call_handler): Clear wait()ing threads here while main thread is |
| suspended to avoid timing screwups. Avoid calling the handler if |
| can't get dispatch mutex (code moved from sig_handle). Return |
| status of acquiring the sig_dispatch mutex. |
| (sighandle): Adapt to new signal method. Reorganize to *always* |
| honor sig_dispatch mutex or suffer deadlock on fatal signals when |
| someone else has the mutex and we're attempting to cleanup. |
| (events_init): Reflect change in cygname() arguments. |
| * fork.cc (stack_dummy): New function. Returns address of |
| argument to determine bounds for eventual stack copy. |
| (cygwin_fork_helper1): Call subproc_init to start up subproc |
| thread if it is not alreay started. Ensure that signals are |
| blocked while forked process is initializing. Change method of |
| calculation for lower stack bounds to slightly more foolproof |
| method. Preserve some global settings in forked process. |
| * misc.cc (cygname): Remove an unused argument. |
| * pinfo.cc (pinfo_list::allocate_pid): Add a useful debugging |
| statement. |
| * shared.cc (open_shared_file_map): Reflect change in cygname() |
| arguments. |
| * signal.cc (kill_pgrp): Avoid killing dead processes. Don't |
| kill processes in my pgrp if not also in my ctty. |
| (sigaction): Adapt to new signal method. |
| (sigpending): Adapt to new signal method. |
| * sigproc.cc: Many changes to adapt to new signal method. Also |
| delay waits for thread initialization until the thread needs to be |
| contacted. |
| * sigproc.h: Ditto. |
| * spawn.cc (spawn_guts): Fix potential off-by-one error(?) in |
| transcribing the argument list and add paranoid code to detect |
| future overruns. Change priority to highest so that waiting |
| process will clear out quickly. |
| (_spawnve): Call subproc_init() to start up subproc thread if is |
| not already started. |
| * strace.cc (strace_printf): Increase size of internal buffer so |
| that long argument lists printed from spawn_guts do not overrun it |
| so easily. |
| * wait.cc (wait4): Set status flag to -1 prior to exit. This will |
| cause previous wait that was interrupted by a signal which |
| dispatched to another wait to return the correct error value. |
| * winsup.h (pinfo): Add _sigtodo array for new signal method. |
| Remove obsolete field. Reflect change in cygname arguments. |
| |
| Thu Jan 15 13:07:07 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * syscalls.cc (mkdir): Don't permit the directory to be created if |
| the parent directory is not writable. |
| |
| * syscalls.cc (fchmod): Call chmod with the path name, rather than |
| just returning zero. |
| |
| * syscalls.cc (writable_directory): New static function. |
| (_unlink): Don't permit the file to be removed if the directory is |
| not writable. |
| (rename): Don't permit the rename if either the source or |
| destination directory is not writable. |
| |
| * syscalls.cc (chown): Set username and groupname lengths to UNLEN |
| + 1, rather than 100. If getpwuid fails, try to look up the real |
| user name to see if it is the same. Don't report an error if |
| there is no security mapping. |
| |
| Wed Jan 14 15:34:20 1998 Ian Lance Taylor <ian@cygnus.com> |
| |
| * syscalls.cc (setegid): New function which just returns ENOSYS. |
| (chroot): Likewise. |
| * cygwin.din: Export setegid, _setegid, chroot, and _chroot. |
| |
| * syscalls.cc (setmode): Rename from _setmode. Change to return |
| the old mode. Remove old setmode function. |
| * cygwin.din: Make _setmode an alias for setmode. |
| |
| Wed Jan 14 14:46:00 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: don't strip cygwin.dll by default |
| * winsup.h: minor reformatting, removed/reworded some comments |
| |
| Mon Jan 12 13:53:03 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| Speed up cygwin pid calculation by staying in the range |
| 1000 through (1000 + PSIZE - 1). |
| * pinfo.cc (pinfo_list::init): Change to reflect new pid |
| calculation method. |
| (pinfo_list::operator []): Ditto. |
| (pinfo_list::allocate_pid): Ditto. |
| * winsup.h (pinfo): Move pid and ppid into non-zeroed region since |
| they are always set by allocate_pid. |
| (pinfo_list): Change pid_base to next_pid_index to reflect new pid |
| calculation method. |
| (PBASE): New constant for new pid calcuation method. |
| |
| Sat Jan 10 12:06:38 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * syscalls.cc (process_deletion_queue): remove wrapper function |
| (close_all_files): call s->delqueue.process_queue instead of |
| going through wrapper. |
| * fhandler.cc (fhandler_base::close): call |
| s->delqueue.process_queue instead of using above wrapper. |
| * winsup.h: remove process_deletion_queue proto |
| * delqueue.h: up MAX_DELQUEUES_PENDING to 100 for now. Rename |
| v to dqueue for clarity. |
| * delqueue.cc: v renamed to dqueue throughout. Add FIXME |
| describing why this whole delqueue system needs rewriting. |
| |
| Fri Jan 9 13:18:44 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Remove some historical baggage: |
| * syscalls.cc (cygwin_set_attributes): remove commented-out code, |
| add FIXME since this function should go away next time an |
| incompatible change to cygwin.din is made. Stop including |
| include/sys/cygwin.h. |
| * include/sys/cygwin.h: remove cygwin_set_attributes proto. |
| Remove CYGWIN_FMODE_ALL_BINARY define. |
| * hinfo (hinfo_vec::init_std_file_from_handle): remove old |
| commented-out code |
| * path.cc (unmixedcaseify): delete commented-out function |
| (mixedcaseify): ditto |
| * strerror.cc (strerror): delete commented-out code section |
| |
| Tue Jan 6 18:51:40 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| Conform to POSIX method for sending SIGHUP to stopped processes. |
| * dcrt0.cc (do_exit): Use new kill_pgrp function to kill orphaned |
| children on group leader exit iff the children are stopped (per |
| POSIX). |
| * signal.cc (kill_worker): Negative signal now means to send |
| a SIGCONT after the signal, to wake up the target process. |
| (_kill): Break out pgrp handling into separate function. |
| (kill_pgrp): New function pulled from _kill to send signals |
| to processes in a given pgrp. |
| |
| Tue Jan 6 14:37:43 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * fhandler.cc (fhandler_base::open): include |
| FILE_FLAG_BACKUP_SEMANTICS in file_attributes when file is |
| a directory. Allows opening of directory as a file. Allows |
| use of handle to perform some operations on both directories and |
| files. |
| (fhandler_base::fstat): Loop when attempting to get volume serial |
| number. Works around an apparent Windows NT 3.51 bug. |
| * times.cc (utimes): use FILE_FLAG_BACKUP_SEMANTICS flag |
| to allow accessing directory times (may only work under NT; |
| until now it didn't work under either OS). |
| * winsup.h: Add O_DIROPEN constant. |
| |
| Mon Jan 5 19:18:01 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| * Makefile.in: make winsup.h depend on winsup.h in accordance |
| with below |
| |
| patch from cgf@bbc.com (Chris Faylor): |
| * {*.cc, *.h}: Remove include files already present in winsup.h. |
| Change empty function parameter lists to (void) where appropriate. |
| |
| * fork.cc: Clean up include files. Minor change to CreateProcess |
| parameter list. |
| * signal.cc: Remove ifdef'ed stuff. |
| * smallprint.c: Add a necessary include file. |
| * winsup.h: Add a common include file. Add a function declaration |
| for kill_pgrp. |
| |
| Mon Jan 5 18:30:37 1998 Geoffrey Noer <noer@cygnus.com> |
| |
| Fix spoofing of directory inodes. |
| * syscalls.cc (hash_path_name): instead of initializing the |
| hash to zero, take the value of the initial hash as a new |
| argument. |
| (_stat_worker): fix up hash_path_name reference in light of above |
| * dirsearch.cc (opendir): initialize dir->__d_dirhash to the |
| hash of the full directory name so readdir can make use of it. |
| (readdir): compute d_ino by combining the directory hash |
| calculated by opendir with the hash of the filename. |
| * fhandler.cc: fix up hash_path_name reference in light of above |
| |
| * winsup.h: remove unnecessary protos for getkey, kbhit. Adjust |
| hash_path_name proto. |