| 2001-12-31 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Strip path when installing library. |
| |
| 2001-12-30 Christopher Faylor <cgf@redhat.com> |
| |
| * include/getopt.h: Fix define. |
| |
| 2001-12-30 Christopher Faylor <cgf@redhat.com> |
| Ralf Habacker <Ralf.Habacker@freenet.de> |
| |
| * speclib: New file. |
| * Makefile.in: Create library versions of automode.o, textmode.o, and |
| binmode.o for easier use on command line. Create libpthread.a, libm.a, |
| and libc.a with subsets of exports found in libcygwin.a. |
| |
| 2001-12-30 Ralf Habacker <Ralf.Habacker@freenet.de> |
| |
| * cygmagic: Eliminate unneeded use of 'tr' and 'bc'. |
| |
| 2001-12-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (open_local_policy): Use POLICY_EXECUTE instead of |
| enumerating user rights. |
| |
| 2001-12-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (open_local_policy): Initialize lsa handle to NULL. |
| Request only needed access rights in call to LsaOpenPolicy(). |
| (create_token): Check for NULL lsa pointer. |
| |
| 2001-12-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Add symbols for endutent(), getutent(), getutid(), |
| getutline(), setutent() and utmpname(). |
| * syscalls.cc (setutent): New function. |
| (endutent): Ditto. |
| (utmpname): Ditto. |
| (getutent): Ditto. |
| (getutid): Ditto. |
| (getutline): Ditto. |
| * include/cygwin/version.h: Bump API minor version. |
| |
| 2001-12-26 Christopher Faylor <cgf@redhat.com> |
| |
| * cygmagic: Add define name to warning. |
| * dcrt0.cc (_dll_crt0): Check for changes in child_info size. |
| (multiple_cygwin_problem): Avoid "proc" errors when testing. Just |
| assume new cygwin proc. |
| * shared_info.h (mount_info): Add 'cb' element for sanity checks. |
| (shared_info): Ditto. |
| * child_info.h (child_info): Add fhandler_union_size element for sanity |
| checking. |
| * shared.cc (open_shared): Detect shared region size mismatch between |
| parent and child. |
| (shared_info::initialize): Detect shared region size mismatch with |
| expectation. |
| (memory_Init): Ditto. |
| * sigproc.cc (init_child_info): Correctly set cb in passed structure. |
| * shared.cc (open_shared): |
| |
| 2001-12-26 Christopher Faylor <cgf@redhat.com> |
| |
| * include/getopt.h: Protect a declaratin. |
| |
| 2001-12-26 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (pthread_cond::Signal): Use a separate flag for signal |
| detection and broadcast semantics. |
| (__pthread_cond_dowait): Ditto. |
| * thread.h (pthread_cond): New flag for testing when a waiter has |
| woken. |
| |
| 2001-12-26 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Quote arguments to shell scripts. |
| (clean): Remove new *_magic.h autogenerated files. |
| |
| 2001-12-25 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Autogenerate some header files which provide magic |
| numbers. Force dependencies for files which depend on autogenerated |
| headers to ensure that they are always built. |
| * child_info.h (child_info): Add new fields to accommodate new magic |
| number header stuff. |
| * dcrt0.cc: Rely on "child_info_magic.h" to ensure that correct |
| child_info magic numbers are used. |
| (dll_crt0_1): Temporarily remove _cygwin_testing_magic test. |
| (_dll_crt0): Do more testing on magic numbers from fork_info structure. |
| Call "multiple_cygwin_problem" where appropriate. |
| (multiple_cygwin_problem): Rename from multiple_cygwin_die. Issue a |
| warning or die, as appropriate based on cygwin version/magic number |
| mismatch. |
| * pinfo.cc (pinfo::exit): Don't attempt to dereference `this' if it |
| doesn't exist. This can happen when a fatal error occurs early in |
| process initialization. |
| * shared.cc: Rely on "shared_info_magic.h" to accommodate that new |
| magic number header stuff. |
| (shared_info::initialize): Use new magic number stuff, for shared |
| region. |
| (memory_init): Ditto, for mount table. |
| * shared_info.h: Accomodate new magic number stuff for shared region |
| and mount table. |
| * sigproc.cc: Rely on "child_info_magic.h" to accommodate new magic |
| number header stuff. |
| (init_child_info): Initialize new fields in child_info) to accomodate |
| magic numbers. |
| * winsup.h: Rename multiple_cygwin_die to multiple_cygwin_problem. |
| * include/cygwin/version.h: Define macros for manipulating version |
| magic. |
| * cygmagic: New shell script for generating magic numbers. |
| |
| 2001-12-20 Christopher Faylor <cgf@redhat.com> |
| |
| * include/cygwin/version.h: Bump API minor version for below changes. |
| |
| 2001-12-19 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in (VPATH): Add regex directory. |
| (NM): new variable. |
| (OBSOLETE_FUNCTIONS): Ditto. |
| (NEW_FUNCTIONS): Ditto. |
| (install-headers): Install regex.h. |
| (install-man): New target. |
| (install): Use new target. |
| (DLL_OFILES): Add v8_reg* stuff. |
| (new-cygwin1.dll): Eliminate stamp-cygwin-lib creation. |
| (libcygwin.a): Remove obsolete functions from import lib. Add new functions. |
| * configure.in: Detect 'nm' tool. |
| * configure: Regenerate. |
| * cygwin.din: Export posix_reg* functions. Eliminate export of v8 reg* functions. |
| This is now handled in object files themselves. |
| * regex/*: New files. |
| * regexp/v8_*.c: New files, renamed from non v8_ equivalents. |
| |
| 2001-12-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/getopt.h: Don't define getopt_long() and friends when |
| included through unistd.h. |
| |
| 2001-12-17 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::init_std_file_from_handle): Avoid initializing |
| using an invalid handle. |
| |
| 2001-12-16 David Billinghurst <David.Billinghurst@riotinto.com> |
| |
| * include/limits.h: Define LLONG_MIN, LLONG_MAX, ULLONG_MAX. |
| |
| 2001-12-11 Christopher Faylor <cgf@redhat.com> |
| |
| * include/getopt.h: Add HAVE_DECL_GETOPT to save pain elsewhere. |
| |
| 2001-12-10 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (fhandler_serial::ev): New class member. |
| * fhandler_serial.cc (fhandler_serial::raw_read): Use class member for |
| event status. |
| * select.cc (peek_serial): Ditto. |
| |
| 2001-12-07 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (path_conv::check): Use full path name for determining |
| attributes when /cygdrive/x/foo. |
| |
| 2001-12-06 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (path_conv::check): Reset FH_CYGDRIVE if iterating through |
| path. |
| |
| 2001-12-06 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (path_conv::check): Don't complain if /dev/x/foo when x |
| doesn't exist. |
| (mount_info::conv_to_win32_path): Keep translating when a /cygdrive is |
| found. Don't attempt to translate to a device name when devn == |
| FH_CYGDRIVE. |
| (cygwin_conv_to_win32_path): Set buffer to empty on error. |
| (cygwin_conv_to_full_win32_path): Ditto. |
| |
| * window.cc: Include unistd.h to verify definitions. |
| |
| 2001-12-05 Christopher Faylor <cgf@redhat.com> |
| |
| * dir.cc (opendir): Detect error return from build_fhandler_from_name. |
| |
| 2001-12-04 David Rothenberger <daveroth@acm.org> |
| |
| * net.cc (cygwin_getsockopt): Dereference optlen pointer when passing |
| to __check_null_invalid_struct_errno. |
| |
| 2001-12-03 Christopher Faylor <cgf@redhat.com> |
| |
| * net.cc (cygwin_getsockopt): Allow NULL optval. |
| (cygwin_setsockopt): Ditto. |
| (cygwin_recvfrom): Allow NULL from. |
| |
| * path.cc (mount_info::read_cygdrive_info_from_registry): Don't write |
| cygdrive to registry if it doesn't exist. |
| |
| 2001-12-03 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (mount_info::conv_to_win32_path): Avoid returning error if |
| cygdrive == '/'. |
| (mount_info::cygdrive_win32_path): Return 0 if invalid cygdrive path. |
| |
| 2001-11-30 Christopher Faylor <cgf@redhat.com> |
| |
| * debug.cc (makethread): Eliminate unneeded function call. |
| * miscfuncs.cc (tls_ix): Predefine. |
| * perthread.h (set_reent): Eliminate. |
| (get_reent): Ditto. |
| * winbase.h (my_tlsalloc): Use global stack base pointer. Set newly |
| allocated location to NULL. |
| (my_tlssetvalue): Use global stack base pointer. |
| (my_tlsgetvalue): Ditto. |
| |
| 2001-11-27 Christopher Faylor <cgf@redhat.com> |
| |
| * winsup.h: Reorganize to avoid use of experimental stuff. |
| * shortcut.cc: Move winsup.h first in include order. |
| |
| 2001-11-27 Christopher Faylor <cgf@redhat.com> |
| |
| * cygwin.din (ualarm): New export. |
| * dcrt0.cc (_dll_crt0): Add experimental tls storage declaration. |
| (dll_crt0): Ditto. |
| * debug.cc (thread_stub): Ditto. |
| * thread.cc: Minor cleanup. |
| (__pthread_create): Add experimental tls storage declaration. |
| * miscfuncs.cc: Define tls index. |
| * winsup.h: Declare experimental tls storage. |
| |
| * window.cc (alarm): Use old timer return from setitimer. |
| (ualarm): New function. From Alexandr V. Shutko. |
| |
| 2001-11-26 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in (libcygwin.a): Use ar commands to build libcygwin.a since |
| adding an archive doesn't work the way we want it to. |
| |
| 2001-11-24 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler_disk_file.cc (fhandler_cygdrive::readdir): Avoid reporting |
| inaccessible drives. |
| |
| 2001-11-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_hstrerror): Allow s == NULL. |
| (cygwin_rcmd): Add parameter checking. |
| (cygwin_rexec): Ditto. |
| |
| 2001-11-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_inet_ntoa): Add parameter checking. |
| (cygwin_inet_network): Return INADDR_NONE instead of 0 in case of |
| EFAULT. |
| (cygwin_hstrerror): Add parameter checking. |
| (cygwin_rresvport): Ditto. |
| (socketpair): Ditto. |
| * winsup.h (check_null_str): Add extern declaration. |
| |
| 2001-11-24 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (path_conv::check): Tighten FH_CYGDRIVE check to avoid |
| matching trailing component, like other devices. |
| |
| 2001-11-24 Christopher Faylor <cgf@redhat.com> |
| |
| * autoload.cc (IsDebuggerPresent): Make conditional load since it is |
| not available everywhere. |
| |
| * path.cc (mount_info::conv_to_win32_path): Only consider /cygdrive to |
| be FH_CYGDRIVE, not /cygdrive/x. |
| |
| 2001-11-24 Christopher Faylor <cgf@redhat.com> |
| |
| * net.cc (inet_makeaddr): Revert previous change. |
| |
| 2001-11-23 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (chdir): Allow 'cd /cygdrive'. |
| |
| 2001-11-23 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::vfork_parent_restore): Add debugging statement. |
| |
| * exceptions.cc (try_to_debug): Spin only as long as we don't have a |
| debugger attached. |
| |
| * fhandler.h (fhandler_base::set_nohandle): New method. |
| (fhandler_base::get_nohandle): New method. |
| * fhandler.cc (fhandler_base::dup): Avoid duplicating handle if there |
| is no handle. |
| * fhandler_disk_file.cc (fhandler_disk_file::opendir): Set nohandle |
| flag on dummy fd. |
| |
| 2001-11-23 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in: Make intermediate library for eventual inclusion in |
| libcygwin.a |
| |
| * fhandler.h (fhandler_pipe::fhandler_pipe): Remove default argument |
| setting since it is no longer used. |
| |
| * miscfuncs.cc (check_null_str): New function. |
| (check_null_str_errno): Ditto. |
| * net.cc: Add defensive buffer checking throughout. |
| (cygwin_sendto): Protect against invalid fd. |
| (cygwin_recvfrom): Ditto. |
| (cygwin_getpeername): Ditto. |
| (cygwin_recv): Ditto. |
| (cygwin_send): Ditto. |
| * winsup.h: Declare a new function. |
| |
| 2001-11-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * select.cc (set_bits): Fix conditional for setting fd in exceptfds. |
| * dtable.cc (dtable::build_fhandler): Create fhandler_pipe using |
| correct device type. |
| * path.cc (get_devn): Set correct pipe device type from device name. |
| |
| 2001-11-22 Christopher Faylor <cgf@redhat.com> |
| |
| * path.cc (conv_path_list): Fix wild indexing into path due to |
| conflicting methods for setting src pointer. |
| |
| * dir.cc (opendir): Only pass path_conv argument to opendir, since name |
| is already part of the fhandler. |
| * dtable.cc (dtable::build_fhandler): Accomodate new FH_CYGDRIVE type. |
| * fhandler.cc (fhandler_base::opendir): Nuke name argument. |
| * fhandler.h: Add FH_CYGDRIVE to "device" enum. |
| (fhandler_base::opendir): Nuke name argument. |
| (fhandler_disk_file::opendir): Ditto. |
| (fhandler_disk_file::fhandler_disk_file): Declare new method which |
| passes devtype through. |
| (fhandler_cygdrive): Add elements for tracking drives. |
| (fhandler_cygdrive::set_drives): Declare new method. |
| (fhandler_cygdrive::iscygdrive_root): Declare new method. |
| (fhandler_cygdrive::opendir): Declare new method. |
| (fhandler_cygdrive::readdir): Declare new method. |
| (fhandler_cygdrive::telldir): Declare new method. |
| (fhandler_cygdrive::seekdir): Declare new method. |
| (fhandler_cygdrive::rewinddir): Declare new method. |
| (fhandler_cygdrive::closedir): Declare new method. |
| (fhandler_cygdrive::fstat): Declare new method. |
| * fhandler_disk_file.cc (fhandler_disk_file::fhandler_disk_file): |
| Define new method which passes devtype through. |
| (fhandler_disk_file::open): Tweak debug output. |
| (fhandler_disk_file::opendir): Nuke first argument. Use info from |
| path_conv and class rather than calling fstat. |
| (fhandler_cygdrive::set_drives): New method. |
| (fhandler_cygdrive::iscygdrive_root): New method. |
| (fhandler_cygdrive::opendir): New method. |
| (fhandler_cygdrive::readdir): New method. |
| (fhandler_cygdrive::telldir): New method. |
| (fhandler_cygdrive::seekdir): New method. |
| (fhandler_cygdrive::rewinddir): New method. |
| (fhandler_cygdrive::closedir): New method. |
| (fhandler_cygdrive::fstat): New method. |
| * path.cc (iscygdrive_device): Assume cygdriveness is already verified. |
| (path_conv::check): Treat FH_CYGDRIVE "method" as a special case, |
| setting file attributes as needed. |
| (mount_info::conv_to_win32_path): Allow stand-alone /cygdrive, meaning |
| "the directory which contains all of the drives on the system". |
| (fillout_mntent): Use cyg_tolower for conversions. |
| (mount_info::cygdrive_win32_path): Replace unused argument with unit |
| number. |
| * shared_info.h (mount_info::cygdrive_win32_path): Reflect argument |
| change. |
| |
| 2001-11-21 Christopher Faylor <cgf@redhat.com> |
| |
| * Makefile.in (DLL_OFILES): Add fhandler_disk_file.o. |
| * cygheap.h (cygheap_fdnew::operator =): New operator. |
| * dir.cc: Add invalid struct checking throughout. Use methods for all |
| directory manipulation throughout. |
| * fhandler.cc: Move fhandler_disk_file stuff to own file. |
| (fhandler_base::opendir): New method. |
| (fhandler_base::readdir): New method. |
| (fhandler_base::telldir): New method. |
| (fhandler_base::seekdir): New method. |
| (fhandler_base::rewinddir): New method. |
| (fhandler_base::closedir): New method. |
| * fhandler_disk_file.cc: New file. |
| * fhandler.h (fhandler_base): Declare new virtual methods. |
| (fhandler_disk_file): Ditto. |
| (fhandler_cygdrive): New class. |
| |
| * path.cc (conv_path_list): Use strccpy to break apart path. |
| |
| 2001-11-17 Nick Duffek <nick@duffek.com> |
| |
| * path.cc (conv_path_list): Copy source paths before modifying them. |
| |
| 2001-11-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_raw.cc (fhandler_dev_raw::clear): Don't reset unit. |
| * fhandler_tape.cc (fhandler_dev_tape::fhandler_dev_tape): Add debug |
| output. |
| |
| 2001-11-15 Egor Duda <deo@logos-m.ru> |
| |
| * include/pthread.h (PTHREAD_COND_INITIALIZER): Define. |
| * thread.cc (__pthread_cond_destroy): Add support for |
| PTHREAD_COND_INITIALIZER. |
| (__pthread_cond_init): Ditto. |
| (__pthread_cond_broadcast): Ditto. |
| (__pthread_cond_signal): Ditto. |
| (__pthread_cond_dowait): Ditto. |
| (__pthread_mutex_init): Handle PTHREAD_MUTEX_INITIALIZER correctly, |
| don't return error when it's passed as parameter. |
| * winsup.h (check_null_invalid_struct): Call correct function. |
| |
| 2001-11-14 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc: Add stdlib.h include for alloca declaration. |
| * poll.cc: Ditto. |
| * termios.cc: Ditto. |
| |
| 2001-11-14 Christopher Faylor <cgf@redhat.com> |
| |
| * syscalls.cc (_write): Only allow zero length when fd is valid. |
| |
| 2001-11-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_disk_file::fstat): Add setting access time |
| and creation time to last modification time for files on filesystems |
| not supporting multiple timestamps. |
| (fhandler_disk_file::fstat_helper): Set access time and creation |
| time in incoming Windows structure instead of in stat buf to avoid |
| incorrectly overwriting Epoch timestamp. |
| |
| 2001-11-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * winsup.h: Remove alloca definition since it's now defined through |
| inclusion of stdlib.h. |
| * lib/cygwin_crt0.c: Ditto. |
| |
| 2001-11-13 Christopher Faylor <cgf@redhat.com> |
| |
| * syscalls.cc (_write): Allow zero length as per SUSv2. |
| |
| 2001-11-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (mkdir): Add HIDDEN file attribute if file has leading dot |
| and HIDDEN_DOT_FILES is defined. |
| * fhandler.cc (fhandler_base::open): Ditto. |
| * path.cc (symlink): Ditto. |
| * syscalls.cc (_rename): Ditto and remove HIDDEN file attribute if |
| new filename does not begin with a dot. |
| |
| 2001-11-12 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler_console.cc (fhandler_console::read): Revert 2001-10-23 |
| change to only honor keydown events. |
| |
| 2001-11-11 Christopher Faylor <cgf@redhat.com> |
| |
| * include/cygwin/version.h: Bump version to 1.3.6. |
| |
| 2001-11-10 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::build_fhandler): Don't increment console fd count |
| if new operation fails. Increment fork_fixup field here. |
| (dtable::dup2): Don't increment fork_fixup field here. |
| * net.cc (fdsock): Ditto. |
| |
| 2001-11-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * select.cc: Set errno using set_sig_errno() throughout. |
| * signal.cc (signal): Always set SA_RESTART flag. |
| * syscalls.cc (_read): Revert previous patch. |
| |
| 2001-11-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * select.cc (fhandler_tty_slave::ready_for_read): Return 0 on EBADF. |
| * syscalls.cc (_read): If ready_for_read() failed, save errno from |
| being overwritten by signal handler call. |
| |
| 2001-11-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lib/getopt.c (getopt_internal): Reset optind to 1 only if optreset |
| is not set. |
| |
| 2001-11-06 Christopher Faylor <cgf@redhat.com> |
| |
| * select.cc (fhandler_tty_slave::ready_for_read): Correct inverted |
| not_open test. |
| |
| 2001-11-05 Christopher Faylor <cgf@redhat.com> |
| |
| * include/cygwin/version.h: Bump version to 1.3.5. |
| |
| 2001-11-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap_record::find_empty): Add input parameter check. |
| |
| 2001-11-04 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::build_fhandler): Fix debug_printf to avoid SEGV |
| due to incorrect parameter placement. |
| |
| 2001-11-04 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (fhandler_pipe::broken_pipe): Renamed from saweof. |
| (fhandler_pipe::set_eof): Reflect above change. |
| * pipe.cc (fhandler_pipe::fhandler_pipe): Ditto. |
| (fhandler_pipe::read): Ditto. |
| (fhandler_pipe::hiteof): Ditto. |
| |
| 2001-11-04 Christopher Faylor <cgf@redhat.com> |
| |
| * pipe.cc (fhandler_pipe::read): Narrow eof return to just the "broken |
| pipe" test. |
| |
| 2001-11-04 Christopher Faylor <cgf@redhat.com> |
| |
| * select.cc: Add more comments throughout. Use bool 'true' where |
| appropriate throughout. |
| (fhandler_socket::select_read): Remove duplicate setting for *_ready |
| which inadvertently overrode previous, correct setting. |
| (fhandler_socket::select_write): Ditto. |
| |
| 2001-11-03 Christopher Faylor <cgf@redhat.com> |
| |
| * select.cc (verify_console): New function. |
| (verify_windows): Ditto. |
| (fhandler_console::select_read): Really do need to verify that there is |
| something to read. |
| (fhandler_console::select_windows): Ditto. |
| |
| 2001-11-03 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (fhandler_base::ready_for_read): Remove unused argument. |
| (fhandler_tty_slave::ready_for_read): Ditto. |
| (select_record): Remove poll, initialize peek. |
| * select.cc: Remove all poll functions, throughout. Change second |
| argument of peek_* functions to 'bool' throughout. Specifically |
| initialize *_ready variables throughout. |
| (select_stuff::poll): Subsume previous poll functionality. |
| (peek_pipe): Don't grab guard mutex when in select loop. |
| select()/read() is racy by design so there is no need to worry about a |
| race in select(). |
| (fhandler_base::ready_for_read): Remove unused argument. |
| (fhandler_tty_slave::ready_for_read): Ditto. |
| * syscalls.cc (_read): Eliminate third argument in ready_for_read call. |
| |
| 2001-11-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (get_supplementary_group_sidlist): New function. |
| (get_group_sidlist): Call get_supplementary_group_sidlist() to |
| retrieve list of supplementary groups SIDs from /etc/group and |
| add them to the user's group list. |
| |
| 2001-11-03 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::read): Return just read ahead characters |
| if slow device. |
| * fhandler.h (fhandler_base::set_eof): New virtual method. |
| (fhandler_pipe::set_eof): New method. |
| * pipe.cc (fhandler_pipe::fhandler_pipe): Clear saweof flag. |
| (fhandler_pipe::read): Return immediately if hit eof. |
| (fhandler_pipe::hit_eof): Return true if saweof flag is set. |
| * select.cc (peek_pipe): Don't call PeekNamedPipe if we couldn't grab |
| the guard mutex. |
| |
| 2001-11-02 Egor Duda <deo@logos-m.ru> |
| |
| * dll_init.h (class dll_list): Reorder functions to avoid compiler |
| "can't inline" warnings. |
| * security.h (class cygsid): Ditto. |
| * sigproc.cc (get_proc_lock): Ditto. |
| * sigproc.h (class sigframe): Ditto. |
| * sync.h (class muto): Ditto. |
| |
| 2001-11-02 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (fhandler_base::get_guard): Actually MAKE virtual as |
| previously indicated. |
| * pipe.cc (make_pipe): Remove extraneous set_errno. |
| * syscalls.cc (_open): Ditto. |
| * select.cc (peek_pipe): Need to check that there is still something to |
| read from the pipe after acquiring the mutex since another |
| process/thread could have eaten the input before we got to acquiring |
| the lock. (Thanks to Nick Duffek for this inspiration.) |
| |
| 2001-11-01 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h: Change Windows 'BOOL's to c++ 'bool's for all variables. |
| * select.cc (fhandler_base::ready_for_read): Set read_ready to zero |
| prior to testing it or it will be uninitialized. |
| |
| * Makefile.in (CFLAGS): Move setting to Makefile.common. |
| |
| 2001-11-01 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.h (cygheap_fdmanip::isopen): Set appropriate errno if fd not |
| open. |
| * select.cc (fhandler_base::ready_for_read): Release an open guard |
| mutex when exiting with an error condition. |
| * syscalls.cc (_read): Check frequently for closed fd as a kludge until |
| something better is invented. |
| |
| 2001-11-01 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::build_fhandler): Issue internal error on unknown |
| device. |
| * fhandler.cc (fhandler_base::close): Show both name and handle in |
| debugging output. |
| |
| * fhandler.h (fhandler_base::get_guard): New virtual method. |
| (fhandler_pipe::get_guard): New method. |
| (fhandler_socket::ready_for_read): Delete declaration. |
| (fhandler_pipe::ready_for_read): Ditto. |
| (fhandler_serial::ready_for_read): Ditto. |
| (fhandler_console::ready_for_read): Ditto. |
| (fhandler_tty_common::ready_for_read): Ditto. |
| (fhandler_windows::ready_for_read): Ditto. |
| (struct select_record::peek): Declare new method. |
| * select.cc (MAKEready): Delete. |
| (peek_pipe): Use get_guard method to retrieve potential guard mutex |
| handle. |
| (fhandler_base::ready_for_read): Rewrite as generic ready-for-read |
| handler. Should only be called for "slow" devices. |
| (fhandler_socket::ready_for_read): Delete definition. |
| (fhandler_pipe::ready_for_read): Ditto. |
| (fhandler_serial::ready_for_read): Ditto. |
| (fhandler_console::ready_for_read): Ditto. |
| (fhandler_tty_common::ready_for_read): Ditto. |
| (fhandler_windows::ready_for_read): Ditto. |
| (fhandler_pipe::select_read): Fill in new peek record in select_record |
| structure. |
| (fhandler_console::select_read): Ditto. |
| (fhandler_tty_common::select_read): Ditto. |
| (fhandler_serial::select_read): Ditto. |
| (fhandler_socket::select_read): Ditto. |
| (fhandler_socket::select_read): Ditto. |
| (fhandler_tty_slave::ready_for_read): Check for tty not open. Set |
| errnos appropriately. |
| * syscalls.cc (_read): Allow ready_for_read to set errno. |
| |
| * pinfo.cc (pinfo::init): Return spawn/NO_WAIT process as valid if it |
| is initializing. |
| * sigproc.cc (getsem): Adjust wait for process to initialize downward |
| to avoid huge waits. |
| |
| 2001-10-31 Christopher Faylor <cgf@redhat.com> |
| |
| * environ.cc: Set reset_com to false to mimic linux behavior more |
| closely. |
| |
| 2001-10-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::vfork_child_dup): Revert impersonation |
| before duplicating fhandler. |
| |
| 2001-10-30 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (signal_exit): Weight the odds against the main thread |
| running when signal thread is exiting. |
| |
| 2001-10-30 Christopher Faylor <cgf@redhat.com> |
| |
| * sigproc.cc (sigproc_terminate): Don't signal main thread when exiting. |
| * sigproc.h (sigframe): Decorate some methods with `inline'. |
| (new_muto): Coerce pointer to new to void *. |
| |
| 2001-10-30 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::fork_fixup): Pass old handle to |
| setclexec_pid. |
| |
| 2001-10-30 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.h (cygheap_fdmanip::cygheap_fdmanip): Clear fh. |
| (cygheap_fdmanip::isopen): New method. |
| * syscalls.cc (_read): Avoid accessing closed fd. |
| |
| * path.h (fe_types): New enum. |
| (path_conv::set_path): New method. |
| (find_exec): Change null_if_not_found argument to something more |
| generic. |
| * spawn.cc (find_exec): Default to returning the POSIX path rather than |
| the windows path, unless instructed otherwise. |
| (spawn_guts): Force call to find_exec to use native paths. |
| * dlfcn.cc (check_path_access): Accommodate new find_exec arguments. |
| * environ.h (win_env::get_posix): New method. |
| |
| 2001-10-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::close): Add error handling. |
| |
| 2001-10-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::dup): Revert previous change. |
| |
| 2001-10-30 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::dup2): Add some debugging. Use methods from |
| passed in class rather than cygheap->fdtab. |
| * fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Add |
| more debugging output. |
| (fhandler_socket::dup): Allocate new space for prot_info_ptr for |
| duplicated entry. |
| (fhandler_socket::close): Loop closesocket() as long as WSAEWOULDBLOCK |
| is returned. |
| * syscalls.cc (stat_worker): Always delete fh if it has been created. |
| |
| 2001-10-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (is_group_member): Call NetLocalGroupGetMembers() for |
| local machine only. |
| (get_user_local_groups): Ditto for NetLocalGroupEnum(). |
| |
| 2001-10-29 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::set_name): Set namehash here to catch |
| name changes. |
| (fhandler_base::open): Remove namehash setting. |
| (fhandler_base::fstat): Subtract 1 from arbitrary time setting to avoid |
| strange ls -l granularity problem. |
| |
| 2001-10-29 Christopher Faylor <cgf@redhat.com> |
| |
| * select.cc (MAKEready): Remove extraneous select_read. |
| |
| 2001-10-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uinfo.cc (internal_getlogin): Set environment variable $HOME |
| from either /etc/passwd or $HOMEDRIVE/$HOMEPATH if necessary. |
| |
| 2001-10-29 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (fhandler_serial::fhandler_serial): Change to only accept |
| unit argument. |
| * fhandler_serial.cc (fhandler_serial::fhandler_serial): Ditto. |
| (fhandler_serial::open): Avoid else when previous clause is a return(). |
| * path.cc (get_devn): Alias /dev/ttyS0 -> /dev/com1, etc. |
| (get_device_number): Reallow standalone "com1" as a valid name for |
| /dev/com1. |
| |
| 2001-10-26 Christopher Faylor <cgf@redhat.com> |
| |
| * select.cc (MAKEready): Check for read_ready in loop since select_read |
| could set it. |
| (peek_socket): Check ready/write/except specifically since they could |
| have been set even prior to peek_socket call. |
| |
| 2001-10-24 Christopher Faylor <cgf@redhat.com> |
| |
| * shared_info.h (MOUNT_VERSION): Change to a smaller, still arbitrary |
| number. |
| * shared.cc (open_shared): Accept a number to denote the shared memory |
| region. |
| (memory_init): Use shared memory version as part of the object name of |
| the shared region. Ditto for the mount table. |
| * path.cc (CYGWIN_REGNAME): New define used in place of |
| CYGWIN_INFO_CYGWIN_REGISTRY_NAME throughout. |
| * external.cc (cygwin_internal): Implement CW_[GS]ET_CYGWIN_REGISTRY_NAME. |
| * cygheap.h (init_cygheap::cygwin_regname): New element. |
| |
| 2001-10-23 Christopher Faylor <cgf@redhat.com> |
| |
| Ensure that all fhandler_*::read definitions are __stdcall throughout. |
| * fhandler.cc (fhandler_base::set_inheritance): Be more defensive in |
| debugging code. |
| * fhandler.h: Adjust regparms throughout to reflect passing 'this' |
| parameter. |
| * fhandler_console.cc (fhandler_console::read): Remove unneeded test. |
| Only honor "key down" events. |
| * miscfuncs.cc (strcasestr): Reorganize for efficient code use. |
| (check_null_empty_str_errno): Ditto. |
| (__check_null_invalid_struct_errno): Ditto. |
| (__check_invalid_read_ptr_errno): Ditto. |
| * syscalls.cc (_read): Return 0 when length == 0, as per Single UNIX |
| Specification. |
| |
| 2001-10-22 Christopher Faylor <cgf@redhat.com> |
| |
| * debug.cc (set_errno): Return value of errno that was set, just like |
| the macro. |
| (setclexec_pid): Replace old handle with new handle. |
| * debug.h: Reflect change in arguments for setclexec_pid. |
| * fhandler.cc (fhandler_base::set_inheritance): Ditto. |
| (fhandler_base::fork_fixup): Ditto. |
| * cygerrno.h: Reflect return value change for set_errno. |
| |
| 2001-10-22 Christopher Faylor <cgf@redhat.com> |
| |
| Remove 'cb' parameter and modify fhandler_* constructors throughout. |
| * dtable.cc (dtable::build_fhandler): Remove debugging output which |
| uses 'cb'. |
| * exec.cc (execvp): New function. |
| (execvpe): Ditto. |
| * fhandler.cc (fhandler_base::fhandler_base): Use constructor |
| initialization. |
| * fhandler.h (fhandler_tty_common::fhandler_tty_common): Ditto. |
| * fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard): |
| Ditto. |
| * fhandler_console.cc (fhandler_console::fhandler_console): Ditto. |
| * fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Ditto. |
| * fhandler_serial.cc (fhandler_serial::fhandler_serial): Ditto. |
| * fhandler_tty.cc (fhandler_tty_master::fhandler_tty_master): Ditto. |
| (fhandler_tty_slave::fhandler_tty_slave): Ditto. |
| (fhandler_pty_master::fhandler_pty_master): Ditto. |
| * fhandler_windows.cc (fhandler_windows::fhandler_windows): Ditto. |
| |
| 2001-10-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| Patch suggested by Ian Ray <ian.ray@nokia.com>: |
| * syscalls.cc (seteuid): Unset environment variables HOMEDRIVE and |
| HOMEPATH before calling internal_getlogin(). |
| * uinfo.cc (internal_getlogin): Use default HOMEPATH and HOMEDRIVE |
| from environment if both are present, else query NetUserGetInfo(). |
| |
| 2001-10-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (get_2k_ifconf): Change multiple IP address naming scheme |
| to Linux style. |
| |
| Sun Oct 21 19:04:37 2001 Alexander Gottwald <ago@informatik.tu-chemnitz.de> |
| |
| * net.cc (get_2k_ifconf): Added support for multiple IP addresses on |
| one interface. |
| |
| 2001-10-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * miscfuncs.cc (__check_invalid_read_ptr_errno): Return error, if any. |
| |
| 2001-10-21 Christopher Faylor <cgf@redhat.com> |
| |
| * resource.cc (fill_rusage): Perform paranoid zero structure passed to |
| GetProcessMemoryInfo. |
| |
| 2001-10-22 Robert Collins <rbtcollins@hotmail.com> |
| |
| * autoload.cc: Autoload GetProcessMemoryInfo. |
| * resource.cc (fill_rusage): Calculate ru_maxrss and ru_majflt entries. |
| (Bug report on this from Guido Serassio in the squid project). |
| This requires including psapi.h. |
| |
| 2001-10-20 Christopher Faylor <cgf@redhat.com> |
| |
| * dll_init.cc (dll_list::alloc): Increase retry count to 1000. |
| |
| 2001-10-20 Christopher Faylor <cgf@redhat.com> |
| |
| * miscfuncs.cc (__check_invalid_read_ptr_errno): New function. |
| * syscalls.c (_write): Validate that write buffer is accessible for |
| reading, not writing. |
| * winsup.h: Declare new function, increase regparmization of check_* |
| functions. |
| |
| 2001-10-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (getcwd): Allow len == 0 when buf == NULL. |
| |
| 2001-10-18 Christopher Faylor <cgf@redhat.com> |
| |
| * syscalls.cc (_read): Validate input pointer. |
| (_write): Ditto. |
| (system): Ditto. |
| |
| 2001-10-16 Frederic Devernay <Frederic.Devernay@sophia.inria.fr> |
| |
| * poll.cc (poll): Call cygwin_select() if any fd is valid. |
| |
| 2001-10-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_raw.cc (fhandler_dev_raw::open): Eliminate compatibility |
| code since no Win32 device names are used anymore. |
| * fhandler_tape.cc (fhandler_dev_tape::tape_set_blocksize): Allow |
| 0 as blocksize to indicate variable blocksize. |
| * path.cc (win32_device_name): Generate NT internal device names |
| using upper/lower case names for readability. |
| Generate \DosDevices\<letter>: device name for mount table |
| compatibility devices. |
| |
| 2001-10-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (fhandler_dev_tape::tape_status): Report |
| EOTWarningZoneSize in get->mt_eotwarningzonesize. |
| * include/cygwin/mtio.h: Define DEFTAPE. |
| (struct mtget): Add member `mt_eotwarningzonesize'. Add a comment. |
| * include/cygwin/version.h: Bump API minor version to 47. |
| |
| 2001-10-16 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::fork_fixup): Guard against compiler |
| warning. |
| |
| 2001-10-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Add load statement for `NtOpenFile'. |
| * fhandler.h (fhandler_dev_raw::get_unit): New method. |
| (fhandler_dev_tape::norewind): Eliminate. |
| (fhandler_dev_tape::is_rewind_device): New method. |
| * fhandler_raw.cc (fhandler_dev_raw::open): Open new |
| fixed device name devices using NT internal method. |
| Keep calling fhandler_base::open() for old mount table |
| device mapping compatibility devices. |
| (fhandler_dev_raw::fstat): Eliminate. Settings are done |
| by fhandler_base::fstat() already. |
| * fhandler_tape.cc: Remove `norewind' usage throughout. |
| * ntdll.h: Define FILE_SYNCHRONOUS_IO_NONALERT. |
| Define struct _IO_STATUS_BLOCK. |
| Declare NtOpenFile(). |
| * path.cc (get_raw_device_number): Add new approach for |
| using fixed device names. |
| (win32_device_name): Ditto. |
| (get_device_number): Ditto. Require POSIX path to begin |
| with "/dev/". |
| (mount_info::conv_to_win32_path): Call win32_device_name() |
| instead of get_device_number() after evaluating mount points |
| to allow changing the win32 destination path again. |
| * security.cc (str2buf2uni): Remove `static' to be able to |
| call function from fhandler_dev_raw::open(). |
| * wincap.cc: Set flag has_raw_devices appropriately. |
| * wincap.h: Add flag has_raw_devices. |
| |
| 2001-10-16 Christopher Faylor <cgf@redhat.com> |
| |
| * cygheap.h (cygheap_fdget::cygheap_fdget): Remove debugging operation |
| from set_errno. |
| |
| 2001-10-16 Christopher Faylor <cgf@redhat.com> |
| |
| * mmap.cc (mmap): Assign 'fh' from cygheap_fdget. Use 'fh' everywhere. |
| |
| 2001-10-15 Christopher Faylor <cgf@redhat.com> |
| |
| * cygerrno.h (set_errno): Define more informative version of this |
| function for debugging. |
| (__set_errno): Declare when DEBUGGING. |
| * cygheap.h (cygheap_fdget::cygheap_fdget): Add a flag to control when |
| errno is set. |
| * debug.cc (__set_errno): New function. |
| * fcntl.cc (_fcntl): Fix so that correct fd is used for second argument |
| to dup2. |
| * syscalls.cc (_cygwin_istext_for_stdio): Don't set errno here when |
| using cygheap_fdget. |
| |
| 2001-10-15 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.cc (fhandler_base::fork_fixup): Don't protect handle. |
| |
| * dlfcn.cc: Fix to confirm to coding standards. |
| |
| Reorganize includes throughout to accommodate new cygheap.h usage. |
| * cygheap.h (cygheap_fdmanip): New class: simplifies locking and |
| retrieval of fds from cygheap->fdtab. |
| (cygheap_fdget): Ditto. |
| (cygheap_fdnew): Ditto. |
| * fcntl.cc (_fcntl): Use new method to lock fdtab and retrieve info. |
| * ioctl.cc (ioctl): Ditto. |
| * mmap.cc (mmap): Ditto. |
| * net.cc: Ditto, throughout. |
| * passwd.cc (getpass): Ditto. |
| * path.cc (fchdir): Ditto. |
| * pipe.cc (make_pipe): Ditto. |
| * sec_acl.cc (facl): Ditto. |
| * syscalls.cc: Ditto, throughout. |
| * termios.cc: Ditto, throughout. |
| |
| 2001-10-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uname.cc (uname): Use `wProcessorLevel' unless OS sets it wrong. |
| Use `dwProcessorType' then instead. |
| * wincap.cc: Set flag has_valid_processorlevel appropriately. |
| * wincap.h: Add flag has_valid_processorlevel. |
| |
| 2001-10-14 Christopher Faylor <cgf@redhat.com> |
| |
| * dtable.cc (dtable::build_fhandler_from_name): Use PC_FULL to |
| determine path name. |
| * path.cc (fchdir): Remove rel -> abs path conversion. |
| |
| Sun Oct 14 08:10:12 2001 Gary R. Van Sickle |
| |
| * fork.cc (fork_parent): Correct the "unable to allocate |
| forker_finished event" error message. It named the wrong event before. |
| |
| 2001-10-13 Christopher Faylor <cgf@redhat.com> |
| |
| * autoload.cc (load_wsock32): Declare dummy function to force loading |
| of winsock. |
| * fhandler.cc (fhandler_base::set_inheritance): Make debugging output |
| more verbose. |
| * fhandler_socket.cc (fhandler_socket::fixup_after_fork): Force loading |
| of winsock32 if winsock2 not available. |
| * net.cc (set_socket_inheritance): Use DuplicateHandle in all cases to |
| set inheritance correctly. |
| (fdsock): Use winsock2_active macro to determine when to set socket |
| inheritance. Remove fdtab resource locking since this function should |
| already be protected. |
| (cygwin_accept): Simplify logic. Ensure that fdtab unlock is not |
| called inappropriately. |
| (cygwin_rcmd): Use fdtab locking. |
| (cygwin_rresvport): Ditto. |
| (cygwin_rexec): Ditto. |
| * select.cc (peek_socket): Set errno appropriately if winsock select |
| fails. |
| |
| 2001-10-13 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * winsup.h: Declare check_pty_fds. |
| * syscalls.cc (check_pty_fds): Rename from check_ttys_fds. Also check |
| pty master. |
| (setsid): Use check_pty_fds. |
| * dtable.cc (dtable::dec_console_fds): Add check on pty fds. |
| |
| 2001-10-13 Ralf Habacker <Ralf.Habacker@freenet.de> |
| |
| * fhandler_dsp.cc (fhandler_dsp::ioctl): Return 0 for successful |
| SNDCTL_DSP_GETBLKSIZE operation. |
| |
| 2001-10-13 Christopher Faylor <cgf@redhat.com> |
| |
| Remove obsolete 'name' arg from fhandler_* constructors throughout. |
| * winsup.h (winsock_active): New macro. |
| (winsock2_active): Ditto. |
| * autoload.cc (wsock_init): Use new macros to decide if winsock or |
| winsock2 is loaded. |
| (nonexist_wsock32): Dummy function to force winsock load. |
| (nonexist_ws2_32): Dummy function to force winsock2 load. |
| * fhandler.h (fhandler_socket::fstat): Declare new method. Currently |
| unused. |
| * fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Check |
| that winsock2 is active before trying WSADuplicateSocketA. |
| (fhandler_socket::fixup_after_fork): Add extra check for |
| winsock2_active. Otherwise use iffy procedures for Windows 95. |
| (fhandler_socket::fixup_after_exec): Add debugging. |
| (fhandler_socket::dup): Add debugging. |
| (fhandler_socket::fstat): New method. |
| (fhandler_socket::set_close_on_exec): Attempt to perform iffy stuff on |
| Windows 95. |
| |
| * errno.cc (_sys_nerr): Work around compiler strangeness. |
| |
| * pinfo.cc (winpids::add): Add extra element at end of allocated array |
| for setting to NULL. |
| (winpids::enumNT): Ditto. |
| (winpids::init): Don't modify pidlist if it hasn't been allocated |
| (possibly due to malloc problem). |
| |
| 2001-10-12 Christopher Faylor <cgf@redhat.com> |
| |
| * autoload.cc (wsock_init): Reorganize slightly to accommodate a new |
| compiler. |
| |
| 2001-10-11 Egor Duda <deo@logos-m.ru> |
| |
| * net.cc (cygwin_sendto): Use correct socket address when sending |
| data to AF_UNIX socket. |
| |
| Wed Oct 10 16:10:41 2001 Alexander Gottwald <ago@informatik.tu-chemnitz.de> |
| |
| * net.cc (get_95_ifconf): Using other registry values pointing to |
| correct networkdevice identification for Windows95. |
| |
| Tue Oct 9 22:22:45 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout, rename PROC_FORK1 to PROC_FORK. |
| * child_info.h: Rename PROC_* to _PROC_*. Define PROC_* with |
| additional testing magic. Eliminate old PROC_FORK and rename |
| PROC_FORK1 to PROC_FORK. |
| * dcrt0.cc (_cygwin_testing_magic): New variable. Added to magic |
| number in proc_info. |
| (alloc_stack): Eliminate old PROC_FORK test. |
| (dll_crt0_1): Ditto. Use _PROC_* enums for test. Subtract |
| _cygwin_testing_magic from child_proc_info->type so that normal cygwin |
| programs invoked by test suite programs do not consider themselves to |
| be in a cygwin environment. |
| (_dll_crt0): Ditto. Move environment checks to initial_env function to |
| conserve on stack space. |
| (initial_env): New function. Checks for testing and debugging |
| environment variables. |
| * init.cc (cygwin_hmodule): Move declaration. |
| * winsup.h: Declare variables used for cygwin testing. |
| |
| Tue Oct 9 19:17:53 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * uinfo.cc (internal_getlogin): Reorganize slightly to minimize work in |
| default condition. |
| |
| Tue Oct 9 18:53:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_disk_file::open): Add missing case clash check. |
| |
| Mon Oct 8 01:47:27 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dtable.cc (dtable::build_fhandler): Allocate correct amount for given |
| fhandler class. |
| * fhandler.h (fhandler_union): Properly define rather than relying on |
| fhandler_console being "big enough". |
| |
| Mon Oct 8 00:25:18 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * external.cc (fillout_pinfo): Reset counter whenever we initialize the |
| pid list. |
| |
| Sun Oct 7 17:16:05 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (normalize_posix_path): Don't eat a '.' after a '\\' since it |
| has special meaning on NT. |
| |
| * syscalls.cc (access): Use stat_worker. |
| |
| Fri Oct 5 21:01:14 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::fork_fixup): Protect dup'ed handle and |
| record it as non-inheritable for debugging purposes in case there is a |
| subsequent fork or exec. |
| * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Allow |
| fork_fixup to call ProtectHandle. |
| |
| Fri Oct 5 14:22:47 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (get_raw_device_number): Correct length arguments for |
| wdeveqn. |
| |
| Fri Oct 5 11:05:32 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (getcwd): Allow NULL first argument. |
| |
| Fri Oct 5 00:31:35 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * heap.h (inheap): Check for NULL. |
| |
| Thu Oct 4 23:17:49 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Add second path_conv * argument to fstat()s throughout. |
| * fhandler.h: Change read and fstat to regparm/stdcall throughout. |
| (fhandler_base::fstat): Just declare. Don't define. |
| (fhandler_disk_file::fstat_helper): Declare. |
| * fhandler.cc (fhandler_base::fstat): Move here from fhandler.h, adapt |
| from former stat_dev(). |
| (fhandler_disk_file::fstat): Move most of the disk-file-specific logic |
| from stat_worker to here. Use fstat_helper to derive final fstat |
| output. |
| (fhandler_disk_file::fstat_helper): New method, renamed from former |
| fstat method. |
| (num_entries): Moved here from syscalls.cc. |
| * fhandler_mem.cc (fhandler_dev_mem::fstat): Use base class to |
| initialize most stuff. Invert has_physical_mem_access test for |
| establishing permissions. |
| * fhandler_raw.cc (fhandler_dev_raw::fstat): Eliminate unneed test and |
| memory clearing. Use base class to initialize most stuff. |
| * syscalls.cc (stat_dev): Eliminate. |
| (stat_worker): Simply call fstat method to generate fstat output. Move |
| all device specific code to appropriate fstats. |
| |
| * dir.cc (opendir): Pass correct arg to stat_worker to allow following |
| symlinks. |
| |
| Thu Oct 4 21:37:57 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * spawn.cc (perhaps_suffix): Return NULL on non-existence of file as |
| well as "directoryness". Previous code modified on 2001/09/30 actually |
| had an arguable bug which was unmasked by the change on that day. |
| |
| Thu Oct 4 20:52:42 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Return ENOTDIR when leading device and |
| trailing component. |
| |
| Thu Oct 4 18:49:23 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (stat_worker): Make global. Accept path_conv parameter |
| for passing information back to caller. |
| * winsup.h: Declare stat_worker. |
| * dir.cc (opendir): Use stat_worker rather than stat and pass path_conv |
| parameter to stat_worker for later inspection. |
| |
| 2001-10-04 Karellen (karellen@boreworms.com) |
| |
| * syslog.cc (syslog): Teach syslog about syslog priorities other than |
| LOG_ERR, LOG_WARNING and LOG_INFO |
| |
| Thu Oct 4 15:50:03 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Don't perform file system or rootdir |
| checks on devices. |
| |
| Wed Oct 3 19:40:36 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): Don't close hexec_proc if it is NULL. |
| |
| * fork.cc (vfork): Add debugging statements. |
| |
| * path.cc (get_device_number): Make static. Rewrite to inspect both unix |
| and windows paths. |
| (get_raw_device_number): Just check for parts of raw device that we |
| care about. |
| (get_devn): New function, pulled from get_device_number. |
| (win32_device_name): Accommodate arg changes to get_device_number. |
| (mount_info::get_device_number): Call get_device_number on translated |
| Windows path. |
| |
| * spawn.cc (spawn_guts): Don't treat P_VFORK differently from P_NOWAIT. |
| Add handle to child's shared region to child so that it will be |
| preserved if the parent goes away. |
| * fhandler.h: Throughout, simplify to one open method for all fhandler |
| classes, requiring a path_conv first element. |
| * fhandler.cc (fhandler_base::open): Remove obsolete method. |
| Generalize to require path_conv * as first argument. |
| (fhandler_disk_file::open): Remove obsolete method. |
| (fhandler_disk_file::open): Use path_conv pointer rather than |
| reference. |
| * fhandler_clipboard.cc (fhandler_dev_clipboard::dup): Use new open |
| method. |
| (fhandler_dev_clipboard::open): Accommodate new argument for open |
| methods. |
| * fhandler_console.cc (fhandler_console::open): Ditto. |
| (fhandler_console::dup): Use new open method. |
| (fhandler_console::fixup_after_fork): Ditto. |
| (fhandler_console::fixup_after_exec): Ditto. |
| * fhandler_dsp.cc (fhandler_dev_dsp::open): Accommodate new argument for |
| open methods. |
| * fhandler_floppy.cc (fhandler_dev_floppy::open): Ditto. |
| * fhandler_mem.cc (fhandler_dev_mem::open): Ditto. |
| * fhandler_random (fhandler_dev_random::open): Ditto. |
| * fhandler_raw.cc (fhandler_dev_raw::open): Ditto. |
| * fhandler_serial.cc (fhandler_serial::open): Ditto. |
| * fhandler_tape.cc (fhandler_dev_tape::open): Ditto. |
| * fhandler_tty.cc (fhandler_tty_slave::open): Ditto. |
| (fhandler_pty_master::open): Ditto. |
| * fhandler_windows.cc (fhandler_windows::open): Ditto. |
| * fhandler_zero.cc (fhandler_dev_zero::open): Ditto. |
| * fhandler_socket.cc (fhandler_socket::set_connect_secret): Accommodate |
| new argument for open methods. |
| * syscalls.cc (_open): Ditto. |
| (stat_worker): Ditto. |
| |
| Tue Oct 2 23:49:18 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (cfree): Remove malloc debugging probe. |
| * dlmalloc.c (errprint): Remove abort() call which causes interesting |
| error message printing to abort prematurely. |
| * environ.cc: Sprinkle MALLOC_CHECKs liberally throughout. |
| (_addenv): Allocate two empty elements at end of environ to |
| (apparently) work around problems with some buggy applications. |
| (winenv): Avoid calling alloca if no forced environment variable is |
| present. |
| |
| * exceptions.cc (open_stackdumpfile): Don't print "Dumping stack trace |
| to..." when running in a cygwin environment (i.e., the parent is a |
| cygwin process). |
| |
| * dtable.cc (dtable::init_std_file_from_handle): Move device type |
| detection code from build_fhandler here since it is only used by this |
| function. |
| (dtable::build_fhandler_from_name): New method. Renamed from |
| dtable::build_fhandler. |
| (dtable::build_fhandler): Use build_fhandler_from_name. |
| (cygwin_attach_handle_to_fd): Ditto. |
| * syscalls.cc (_open): Ditto. |
| (stat_worker): Ditto. |
| * dtable.h (dtable::build_fhandler_from_name): Rename declaration from |
| dtable::build_fhandler. |
| |
| Mon Oct 1 16:52:23 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dtable.h (dtable::build_fhandler): Make path_conv parameter |
| non-optional. |
| (dtable::init_std_file_from_handle): Eliminate name parameter. |
| * dtable.cc (stdio_init): Don't pass bogus name to |
| init_std_file_from_handle. The function will figure out the name |
| itself. |
| (dtable::init_std_file_from_handle): Eliminate name parameter. Assume |
| that we're always called with an appropriate fd. Pass name as NULL if |
| we can't simply figure it out from context. |
| (cygwin_attach_handle_to_fd): Pass path_conv argument to |
| build_fhandler. |
| (dtable::build_fhandler): Make path_conv argument mandatory. Eliminate |
| specific call to get_device_number. With unknown device names, set |
| name from handle context for parsing by path_conv. |
| (dtable::build_fhandler): Pass path_conv argument to build_fhandler. |
| * path.h (path_conv::set_isdisk): Set disk device type. |
| (path_conv::is_device): Don't consider FH_DISK a "device". |
| * syscalls.cc (_open): Pass path_conv argument by reference. |
| (stat_worker): Ditto. |
| (_rename): Use path_conv operators. Add bounds to DeleteFile/MoveFile |
| for loop. |
| |
| Mon Oct 1 14:25:00 2001 Charles Wilson <cwilson@ece.gatech.edu> |
| |
| * cygwin.din: export strtoll and strtoull |
| |
| Sun Sep 30 22:51:41 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Add "path.h" include throughout, where needed. Use new path_conv |
| methods and operators to simplify testing for directory and attributes, |
| throughout. |
| * path.h (path_conv::exists): New method. |
| (path_conv::has_attribute): Ditto. |
| (path_conv::isdir): Ditto. |
| (path_conv::DWORD &): New operator. |
| (path_conv::int &): Ditto. |
| * dir.cc (rmdir): Eliminate a goto. |
| * dtable.cc (dtable::build_fhandler): Accept opt and suffix info for |
| path_conv.check. Return fh == NULL on path_conv error. Pass unit to |
| set_name as appropriate. |
| (dtable::reset_unix_path_name): New method. |
| * dtable.h (dtable): Declare new method. Reflect arg changes to |
| build_fhandler. |
| * fhandler.cc (fhandler_disk_dummy_name): Eliminate. |
| (fhandler_base::set_name): Expect paths to be NULL. Build |
| unix_path_name from win32_path_name when it is a device. |
| (fhandler_base::reset_unix_path_name): New method. |
| (fhandler_base::raw_read): Report EISDIR when ERROR_INVALID_FUNCTION |
| or ERROR_INVALID_PARAMETER and reading a directory. |
| (fhandler_disk_file::fstat): Don't call stat_dev since we should now |
| never be calling fhandler_disk_file methods with devices. |
| (fhandler_base::fhandler_base): Clear {unix,win32}_path_name. |
| (fhandler_base::~fhandler_base): Always free {unix,win32}_path_name. |
| (fhandler_disk_file::fhandler_disk_file): Remove set_no_free_names |
| kludge. |
| (fhandler_disk_file::open): Ditto. |
| * fhandler.h (fhandler_base::no_free_names): Eliminate. |
| (fhandler_base::set_no_free_names): Ditto. |
| * fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Don't set |
| unix_path_name here. |
| * path.cc (fchdir): Lock fd table throughout. Use new |
| dtable::reset_unix_path_name method to reset path. |
| * syscalls.cc (stat_worker): Reorganize to always call fstat method. |
| Pass path_conv method to fhandler_*::open. |
| (chroot): Elminate a goto. |
| |
| Sun Sep 30 17:37:43 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * environ.cc (winenv): Allocate exact amount of space needed for forced |
| windows environment variable rather than just using MAX_PATH. |
| |
| Sun Sep 30 17:10:18 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Depend on stamp to ensure rebuilding. Remove stamp file |
| when we've just built the DLL. |
| |
| Mon Oct 1 00:34:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (pthread_cond_dowait): Hopefully eliminate a race on multiple thread |
| wakeups. |
| |
| Sat Sep 29 18:26:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * pthread.cc (pthread_cond_timedwait): Deleted - exported from thread.cc. |
| (pthread_cond_wait): Deleted - exported from thread.cc. |
| * thread.cc (pthread_cond::BroadCast): Update to use the new syntax for |
| verifyable_object_isvalid (). |
| (pthread_cond::Signal): Ditto. Also attempt to fix the lost signal race |
| with pthread_cond::TimedWait(). |
| (check_valid_pointer): Change definiton to void const *. |
| (verifyable_object_isvalid): Add new parameter to allow identification of |
| static initializers, and return a enum rather than magic numbers. |
| (__pthread_create): Ditto. |
| (__pthread_cleanup): Ditto. |
| (__pthread_attr_init): Ditto. |
| (__pthread_attr_getinheritsched): Ditto. |
| (__pthread_attr_getschedparam): Ditto. |
| (__pthread_attr_getschedpolicy): Ditto. |
| (__pthread_attr_getscope): Ditto. |
| (__pthread_attr_setdetachstate): Ditto. |
| (__pthread_attr_getdetachstate): Ditto. |
| (__pthread_attr_setinheritsched): Ditto. |
| (__pthread_attr_setschedparam): Ditto. |
| (__pthread_attr_setschedpolicy): Ditto. |
| (__pthread_attr_setscope): Ditto. |
| (__pthread_attr_setstacksize): Ditto. |
| (__pthread_attr_getstacksize): Ditto. |
| (__pthread_attr_destroy): Ditto. |
| (__pthread_join): Ditto. |
| (__pthread_detach): Ditto. |
| (__pthread_suspend): Ditto. |
| (__pthread_continue): Ditto. |
| (__pthread_getschedparam): Ditto. |
| (__pthread_getsequence_np): Ditto. |
| (__pthread_key_create): Ditto. |
| (__pthread_key_delete): Ditto. |
| (__pthread_setschedparam): Ditto. |
| (__pthread_setspecific): Ditto. |
| (__pthread_getspecific): Ditto. |
| (__pthread_cond_destroy): Ditto. |
| (__pthread_cond_init): Ditto. |
| (__pthread_cond_broadcast): Ditto. |
| (__pthread_cond_signal): Ditto. |
| (__pthread_condattr_init): Ditto. |
| (__pthread_condattr_getpshared): Ditto. |
| (__pthread_condattr_setpshared): Ditto. |
| (__pthread_condattr_destroy): Ditto. |
| (__pthread_kill): Ditto. |
| (__pthread_mutex_init): Ditto. |
| (__pthread_mutex_getprioceiling): Ditto. |
| (__pthread_mutex_lock): Ditto. |
| (__pthread_mutex_trylock): Ditto. |
| (__pthread_mutex_unlock): Ditto. |
| (__pthread_mutex_destroy): Ditto. |
| (__pthread_mutex_setprioceiling): Ditto. |
| (__pthread_mutexattr_getprotocol): Ditto. |
| (__pthread_mutexattr_getpshared): Ditto. |
| (__pthread_mutexattr_gettype): Ditto. |
| (__pthread_mutexattr_init): Ditto. |
| (__pthread_mutexattr_destroy): Ditto. |
| (__pthread_mutexattr_setprotocol): Ditto. |
| (__pthread_mutexattr_setprioceiling): Ditto. |
| (__pthread_mutexattr_getprioceiling): Ditto. |
| (__pthread_mutexattr_setpshared): Ditto. |
| (__pthread_mutexattr_settype): Ditto. |
| (__sem_init): Ditto. |
| (__sem_destroy): Ditto. |
| (__sem_wait): Ditto. |
| (__sem_trywait): Ditto. |
| (__sem_post): Ditto. |
| (__pthread_cond_dowait): New function, contains core logic from |
| __pthread_cond_wait and __pthread_cond_timedwait. Decrement (*cond)->waiting |
| before reentering the cond access mutex to allow detection of lost signals. |
| (__pthread_cond_timedwait): Rename to pthread_cond_timedwait, and call |
| __pthread_cond_dowait after calculating the wait length. |
| (__pthread_cond_wait): Rename to pthread_cond_wait, and call |
| __pthread_cond_dowait. |
| * thread.h: New enum for use with verifyable_object_isvalid. |
| Remove the extern exporting of __pthread_cond_timedwait and __pthread_cond_wait. |
| |
| Fri Sep 28 21:18:50 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * pipe.cc (fhandler_pipe::fixup_after_fork): New method. |
| * fhandler.h (fhandler_pipe::fixup_after_fork): Declare new method. |
| |
| Fri Sep 28 03:23:04 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * passwd.cc (read_etc_passwd): Bother with unlocking when not |
| in cygwin initialization. |
| * grp.cc (read_etc_group): Ditto. |
| |
| Fri Sep 28 02:57:03 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * passwd.cc (read_etc_passwd): Don't bother with locking when |
| in cygwin initialization since there is only one thread. |
| * grp.cc (read_etc_group): Ditto. |
| |
| Fri Sep 28 01:50:09 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * pipe.cc (fhandler_pipe::hit_eof): Return correct value when there is |
| no EOF event available. |
| |
| Sat Sep 28 00:34:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Move setting the access after evaluating fd. |
| Remove useless comment. Explain copy-on-write problem of 9x |
| more detailed. Don't set access to FILE_MAP_COPY on 9x only |
| when anonymous mapping is requested. |
| (fhandler_disk_file::mmap): Remove useless device check. |
| Add debug output. |
| |
| Fri Sep 27 07:35:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * Makefile.in: Only stamp winver_stamp on success. |
| |
| Wed Sep 26 16:02:35 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (peek_pipe): REALLY only grab mutex when we actually got |
| something from the pipe. |
| |
| Tue Sep 25 21:25:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (pthread_cond::BroadCast): Use address with verifyable_object_isvalid(). |
| (pthread_cond::Signal): Ditto. |
| (__pthread_create): Ditto. |
| (__pthread_cleanup): Ditto. |
| (__pthread_attr_init): Ditto. |
| (__pthread_attr_getinheritsched): Ditto. |
| (__pthread_attr_getschedparam): Ditto. |
| (__pthread_attr_getschedpolicy): Ditto. |
| (__pthread_attr_getscope): Ditto. |
| (__pthread_attr_setdetachstate): Ditto. |
| (__pthread_attr_getdetachstate): Ditto. |
| (__pthread_attr_setinheritsched): Ditto. |
| (__pthread_attr_setschedparam): Ditto. |
| (__pthread_attr_setschedpolicy): Ditto. |
| (__pthread_attr_setscope): Ditto. |
| (__pthread_attr_setstacksize): Ditto. |
| (__pthread_attr_getstacksize): Ditto. |
| (__pthread_attr_destroy): Ditto. |
| (__pthread_join): Ditto. |
| (__pthread_detach): Ditto. |
| (__pthread_suspend): Ditto. |
| (__pthread_continue): Ditto. |
| (__pthread_getschedparam): Ditto. |
| (__pthread_getsequence_np): Ditto. |
| (__pthread_key_create): Ditto. |
| (__pthread_key_delete): Ditto. |
| (__pthread_setschedparam): Ditto. |
| (__pthread_setspecific): Ditto. |
| (__pthread_getspecific): Ditto. |
| (__pthread_cond_destroy): Ditto. |
| (__pthread_cond_init): Ditto. |
| (__pthread_cond_broadcast): Ditto. |
| (__pthread_cond_signal): Ditto. |
| (__pthread_cond_timedwait): Ditto. |
| (__pthread_cond_wait): Ditto. |
| (__pthread_condattr_init): Ditto. |
| (__pthread_condattr_getpshared): Ditto. |
| (__pthread_condattr_setpshared): Ditto. |
| (__pthread_condattr_destroy): Ditto. |
| (__pthread_kill): Ditto. |
| (__pthread_mutex_init): Ditto. |
| (__pthread_mutex_getprioceiling): Ditto. |
| (__pthread_mutex_lock): Ditto. |
| (__pthread_mutex_trylock): Ditto. |
| (__pthread_mutex_unlock): Ditto. |
| (__pthread_mutex_destroy): Ditto. |
| (__pthread_mutex_setprioceiling): Ditto. |
| (__pthread_mutexattr_getprotocol): Ditto. |
| (__pthread_mutexattr_getpshared): Ditto. |
| (__pthread_mutexattr_gettype): Ditto. |
| (__pthread_mutexattr_init): Ditto. |
| (__pthread_mutexattr_destroy): Ditto. |
| (__pthread_mutexattr_setprotocol): Ditto. |
| (__pthread_mutexattr_setprioceiling): Ditto. |
| (__pthread_mutexattr_getprioceiling): Ditto. |
| (__pthread_mutexattr_setpshared): Ditto. |
| (__pthread_mutexattr_settype): Ditto. |
| (__sem_init): Ditto. |
| (__sem_destroy): Ditto. |
| (__sem_wait): Ditto. |
| (__sem_trywait): Ditto. |
| (__sem_post): Ditto. |
| (verifyable_object_isvalid): Recieve a pointer to a pointer for verification. |
| (__pthread_mutexattr_getprotocol): Fix typo in magic number. |
| (__pthread_mutexattr_getpshared): Ditto. |
| (__pthread_mutexattr_gettype): Ditto. |
| * thread.h (verifyable_object_isvalid): Change prototype to recieve a pointer to a |
| pointer for verification. |
| * include/pthread.h: Fix typo for __cleanup_routine_type typedef. (Contrib from Net). |
| |
| Tue Sep 25 02:09:42 2001 Christopher Faylor <cgf@redhat.com> |
| |
| * select.cc (fhandler_tty_common::ready_for_read): Rewrite to correctly |
| call peek_pipe. |
| |
| Mon Sep 24 18:46:39 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (peek_pipe): Only grab mutex when we actually got something |
| from the pipe. |
| |
| Mon Sep 24 17:41:03 2001 Christopher Faylor <cgf@redhat.com> |
| |
| * fhandler.h (fhandler_pipe::hit_eof): New method. |
| (writepipe_exists): New class element. |
| (orig_pid): Ditto. |
| (id): Ditto. |
| (is_slow): Eliminate. |
| * pipe.cc (fhandler_pipe::set_close_on_exec): Set inheritance on |
| writepipe_exists, if it exists. |
| (fhandler_pipe::hit_eof): New method, modelled after tty. |
| (fhandler_pipe::dup): Duplicate writepipe_exists, if it exists. |
| (make_pipe): Set up a dummy event for pipes on windows 9x. The |
| nonexistence of this event means that the write side of the |
| pipe has closed. |
| (_dup): Move to syscalls.cc |
| (_dup2): Ditto. |
| |
| * dtable.cc (dtable::build_fhandler): Fill out set_names here, if |
| appropriate. |
| * syscalls.cc (_open): Call set_names in build_fhandler. |
| |
| Sun Sep 23 16:55:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (_open): Set name in fhandler object after successful |
| creation. |
| (stat_dev): Set device type to block device in FH_FLOPPY case. |
| |
| Sun Sep 23 11:15:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::build_fhandler): Initialize unit when using |
| optional path_conv argument. |
| |
| Sat Sep 22 17:33:45 2001 Christopher Faylor <cgf@cygnus.com> |
| Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::build_fhandler): Accept an optional path_conv |
| argument. If available, use this to calculate path name and device |
| number. |
| * dtable.h (dtable): Reflect above change. |
| * fhandler.h (fhandler_base): Declare virtual method which accepts |
| path_conv rather than path string as first argument. |
| * fhandler.cc (fhandler_base::open): Define above new method. |
| * syscalls.cc (_open): Set aside a path_conv variable for use in |
| build_fhandler and subsequent call to open. |
| |
| Sat Sep 22 12:44:57 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (setup_handler): Always relinquish lock after we've |
| interrupted. |
| * fhandler.cc: Move pipe methods to pipe.cc. |
| * fhandler.h (fhandler_pipe): Add new methods. |
| * fork.cc (sync_with_parent): Make error messages more informative. |
| * pipe.cc (fhandler_pipe::fhandler_pipe): Move here from fhandler.cc. |
| (fhandler_pipe::lseek): Ditto. |
| (fhandler_pipe::set_close_on_exec): New method. |
| (fhandler_pipe::read): Ditto. |
| (fhandler_pipe::close): Ditto. |
| (fhandler_pipe::dup): Ditto. |
| (make_pipe): Create the guard mutex on the read side of the pipe. |
| * select.cc (peek_pipe): Use guard_mutex to discover if we have the |
| right to read on this pipe. |
| (fhandler_pipe::readh_for_read): Pass the read pipe guard mutex to |
| peek_pipe. |
| * syscalls.cc (_read): Always detect signal catchers, for now. |
| |
| * debug.cc (makethread): Eliminate hack to make thread inheritable. |
| * sigproc.cc (subproc_init): Don't use hack to make thread inheritable. |
| |
| Thu Sep 20 16:48:44 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::set_inheritance): Just use |
| DUPLICATE_CLOSE_SOURCE to change inheritance. Eliminate all other |
| logic dealing with closed handles. |
| * fhandler.h (fhandler_base::set_inheritance): Reflect above change. |
| * fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto. |
| |
| Thu Sep 20 13:34:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::fixup_after_exec): Close |
| socket only when not using Winsock2. |
| |
| Thu Sep 20 13:20:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (fhandler_socket::fixup_after_exec): Remove inline |
| implementation. |
| (fhandler_dev_raw::fixup_after_exec): Ditto. |
| * fhandler_raw.cc (fhandler_dev_raw::fixup_after_fork): Don't |
| duplicate buffer on fork to avoid memory leak. |
| (fhandler_dev_raw::fixup_after_exec): New implementation equal to |
| former fixup_after_fork() implementation. |
| * fhandler_socket.cc (fhandler_socket::fixup_after_fork): Do |
| nothing when not using Winsock2. |
| (fhandler_socket::fixup_after_exec): New implementation. |
| (fhandler_socket::set_close_on_exec): Never call set_inheritance(). |
| |
| Thu Sep 20 9:55:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::set_inheritance): If available, |
| use SetHandleInformation() to set inheritance. |
| * wincap.cc: Set flag has_set_handle_information_on_console_handles |
| appropriately. |
| * wincap.h: Add flag has_set_handle_information_on_console_handles. |
| |
| Wed Sep 19 12:24:09 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * lib/getopt.c (__progname): Don't declare if not compiling for cygwin. |
| |
| Wed Sep 19 18:07:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lib/getopt.c (getopt_long): Avoid compiler warning. |
| |
| Wed Sep 19 11:52:42 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * lib/getopt.c: Use __progname==__argv[0] when not compiling for cygwin. |
| |
| * scandir.cc (scandir): Use correct default when compar == NULL. |
| |
| Wed Sep 19 17:49:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::fhandler_socket): Revert |
| memory allocation to use cmalloc again. |
| |
| Tue Sep 18 21:04:26 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din (__argv): Export. |
| (__argc): Ditto. |
| (__progname): Ditto. |
| * include/getopt.h (getopt_long): constify arguments. |
| * lib/getopt.c: Import new file from NetBSD. |
| |
| Tue Sep 18 18:21:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Don't reuse anonymous memory in MAP_FIXED case. |
| |
| Mon Sep 17 17:29:25 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/io.h: Add access declaration. |
| |
| Mon Sep 17 14:04:27 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (rmdir): Set cwd to some other location if attempting to |
| rmdir current working directory. |
| |
| Sun Sep 16 23:04:31 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dtable.h (not_open): Assure inline. |
| * fhandler.h (operator []): Make const. |
| |
| Sun Sep 16 23:02:57 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * sync.cc (muto::~muto): Fix typo which stopped muto event handle from |
| ever being closed. |
| |
| 2001-09-16 Egor Duda <deo@logos-m.ru> |
| |
| * path.cc (symlink): Check arguments for validity. |
| (getcwd): Ditto. |
| * syscalls.cc (ftruncate): Ditto. |
| * times.cc (times): Ditto. |
| * uname.cc (uname): Ditto. |
| |
| Sat Sep 15 22:54:49 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * net.cc (dup_servent_ptr): Detect old Windows 95 misaligned structure |
| and realign appropriately. |
| |
| Sat Sep 15 00:28:40 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Generate libcygwin.a during the link pass rather than as |
| a separate dlltool step. |
| * dcrt0.cc (_dll_crt0): pppid_handle could be NULL. Don't close it if |
| so. |
| |
| Fri Sep 14 20:48:18 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (dll_crt0_1): Create vfork main storage here so that it can |
| be queried in waitsig later. |
| * sigproc.cc (wait_sig): Don't deliver a signal if in a vfork. |
| * sigproc.h (sigframe::init): New method. |
| (sigframe): Use init. |
| * perthread.h: Declare main_vfork. |
| * fork.cc (vfork): Deliver all signals on parent return from vfork. |
| |
| Fri Sep 14 10:21:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (_dll_crt0()): Don't call wincap.init() here. |
| |
| Fri Sep 14 00:37:54 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (vfork): Avoid recursive vforks. |
| |
| Fri Sep 14 00:18:52 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h (fhandler_pipe::is_slow): Return true only if pipes are |
| reliable (i.e., not Win9x). |
| * wincap.cc: Make statics NO_COPY to avoid fork overhead. |
| |
| Thu Sep 13 23:01:00 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * grp.cc (read_etc_group): Just reuse group_buf storage for subsequent |
| reread of /etc/group. |
| * passwd.cc (read_etc_passwd): Just reuse passwd_buf storage for |
| subsequent reread of /etc/passwd. |
| |
| Thu Sep 13 20:46:05 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (dup_now): New function. |
| (cygheap_setup_for_child): Accept new argument controlling whether to |
| delay copying of cygheap to shared memory region. |
| (cygheap_setup_for_child_cleanup): Accept new arguments controlling |
| whether to copy cygheap at this point. |
| * cygheap.h: Reflect above changes. |
| * fork.cc (fork_parent): Break copying of cygheap into two parts when |
| fork_fixup is required so that the child can see the parent's changes. |
| (vfork): Do stack cleanup prior to forcing a fork error. |
| * spawn.cc (spawn_guts): Ditto. |
| |
| Thu Sep 13 17:14:59 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (ccalloc): Pass correct length to creturn so that |
| cygheap_max is correctly calculated. |
| |
| Wed Sep 12 21:06:38 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * sync.cc (muto::acquire): Fix while/if typo. |
| |
| Wed Sep 12 23:06:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * wincap.cc (wincapc::init): Simplify W2K/XP case. |
| |
| Wed Sep 12 23:02:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * wincap.cc (wincapc::init): Set os name to "NT" on XP, too. |
| |
| Wed Sep 12 19:00:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in: Build wincap.o. |
| * wincap.cc: New file. |
| * wincap.h: Ditto. |
| * autoload.cc: Add dynamic load statement for `CreateHardLinkA'. |
| * dcrt0.cc (os_being_run): Eliminated. |
| (osname): Ditto. |
| (iswinnt): Ditto. |
| (set_os_type): Ditto. |
| (dll_crt0_1): Call wincap.init() instead of set_os_type(). |
| (_dll_crt0): Ditto. |
| * environ.cc (set_chunksize): New function. |
| (parse_thing): `forkchunk' setting now invokes function `set_chunksize'. |
| * fork.cc (chunksize): Eliminated. Moved to be member of wincap. |
| * host_dependent.h: Removed. |
| * syscalls.cc (_link): Try using `CreateHardLinkA' first, if available. |
| * cygheap.cc, dcrt0.cc, delqueue.cc, dir.cc, |
| environ.cc, fhandler.cc, fhandler.h, fhandler_console.cc, |
| fhandler_mem.cc, fork.cc, mmap.cc, net.cc, pinfo.cc, pinfo.h, |
| security.cc, syscalls.cc, sysconf.cc, syslog.cc, thread.cc, |
| times.cc, tty.cc, uinfo.cc, uname.cc, winsup.h: Use new wincap |
| capability check throughout. |
| * winsup.h: Include wincap.h. Eliminate extern declarations of |
| `os_being_run' and `iswinnt'. Eliminate `os_type" definition. |
| * include/cygwin/version.h: Bump version to 1.3.4. |
| |
| Wed Sep 12 01:03:36 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (call_signal_handler_now): Add additional guard against |
| inappropriately calling signal handler. |
| * syscalls.cc (_read): Reset errno if not exiting due to signal. |
| |
| Wed Sep 12 13:03:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * autoload.cc (LoadDLLfuncEx): Auto load TryEnterCriticalSection - it's |
| an NT only call. |
| * thread.cc (pthread_cond::TimedWait): Use critical sections for NT. |
| (pthread_cond::fixup_after_fork): Don't detect bad apps. |
| (pthread_mutex::pthread_mutex): Use critical sections for NT. |
| (pthread_mutex::~pthread_mutex): Ditto. |
| (pthread_mutex::Lock): Ditto. |
| (pthread_mutex::TryLock): Ditto. |
| (pthread_mutex::UnLock): Ditto. |
| (pthread_mutex::fixup_after_fork): Ditto. Also do not detect bad apps. |
| (__pthread_mutex_trylock): Move WIN32 specific test into the class |
| method. |
| (__pthread_mutex_destroy): Prevent dereferencing passed pointer without |
| valid address. |
| * thread.h (pthread_mutex): Use critical sections for NT. |
| |
| Tue Sep 11 21:55:37 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.h (sigframe::unregister): Return true/false whether this |
| frame is capable of responding to signals. |
| * exceptions.cc (sigframe::call_signal_handler): Don't call signal |
| handler if it is not armed for this thread. |
| |
| Tue Sep 11 11:23:10 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din: Remove cygwin_getshared. |
| * shared.cc: Ditto. |
| * include/cygwin/version.h: Bump API minor number. |
| |
| Tue Sep 11 11:14:11 2001 Dmitry Timoshkov <dmitry@baikal.ru> |
| |
| * dtable.cc (dtable::build_fhandler): Fix incorrect test for socket. |
| |
| Tue Sep 11 21:22:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (pthread_cond::~pthread_cond): Fix incorrect use of |
| InterlockExchangePointer. |
| (pthread_mutex::~pthread_mutex): Ditto. |
| (semaphore::~semaphore): Ditto. |
| |
| Tue Sep 11 18:15:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * dcrt0.cc (cygwin_finished_initializing): Copy _mtinterf on fork. |
| * fork.cc (fork_child): Fixup thread-related structures after fork. |
| * thread.cc (MTinterface::Init): Initialise the new mutex, condition |
| and semaphore lists. |
| (MTinterface::fixup_after_fork): Iterate through each list and fixup |
| the objects. |
| (pthread_cond::pthread_cond): Add this to the condition list. |
| (pthread_cond::~pthread_cond): Remove this from the condition list. |
| (pthread_cond::fixup_after_fork): Recreate as best we can the pre-fork |
| state. |
| (pthread_mutex::pthread_mutex): Add this to the mutex list. |
| (pthread_mutex::~pthread_mutex): Remove this from the mutex list. |
| (pthread_mutex::fixup_after_fork): Recreate as best we can the pre-fork |
| state. |
| (semaphore::semaphore): Store the initial value, and add this to the |
| semaphore list. |
| (semaphore::~semaphore): Remove this from the semaphore list. |
| (semaphore::Post): Increment the current semaphore value. |
| (semaphore::TryWait): Decrement the current semaphore value. |
| (semaphore::Wait): Ditto. |
| (semaphore::fixup_after_fork): Recreate the pre-fork state as best we |
| can. |
| * thread.h (pthread_mutex): New members to allow fixup_after_fork. |
| (pthread_cond): Ditto. |
| (semaphore): Ditto. |
| (MTinterface): New list heads for tracking conds and semaphores. |
| |
| Sun Sep 9 22:11:27 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dtable.cc (dtable::fixup_after_fork): Use SetStdHandle appropriately |
| on inherited fds. |
| |
| Sun Sep 9 20:09:11 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.cc (NZOMBIES): Reduce substantially to minimize memory use. |
| |
| Mon Sep 10 08:28:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.h (MT_Interface): Remove pshared mutex array. Add a |
| threadsafe list for mutex tracking (for fixup after fork). |
| * thread.cc (MTInterface::Init): Remove pshared mutex array. |
| (pthread_mutex::pthread_mutex): Remove pshared mutex functionality. |
| Fail with EINVAL on attempts to use pshared functionality. |
| (__pthread_mutex_getpshared): Remove. |
| (__pthread_cond_timedwait): Remove pshared mutex functionality. |
| (__pthread_cond_wait): Ditto. |
| (__pthread_mutex_init): Ditto. |
| (__pthread_mutex_getprioceiling): Ditto. |
| (__pthread_mutex_lock): Ditto. |
| (__pthread_mutex_trylock): Ditto. |
| (__pthread_mutex_unlock): Ditto. |
| (__pthread_mutex_destroy): Ditto. |
| (__pthread_mutex_setprioceiling): Ditto. |
| (__pthread_mutexattr_setpshared): Ditto. |
| |
| Sun Sep 9 23:09:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * pwdgrp.h (pwdgrp_check::set_last_modified): Call GetFileTime() |
| instead of GetFileInformationByHandle(). |
| |
| Sun Sep 9 15:59:53 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * heap.h (inheap): Rewrite macro to accommodate removal of brk macros |
| below. |
| |
| Sun Sep 9 15:02:44 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (cygheap_fixup_in_child): Clear cygheap->base so that heap |
| is not forced to start at the same place in execed process. |
| * heap.cc: Remove brk* macros for clarity throughout. |
| * heap.h: Ditto. |
| * shared.cc (shared_info::initialize): Move heap_chunk test into |
| heap_chunk_size(). |
| (heap_chunk_size): Check for chunk size here. Don't go to registry if |
| heap_chunk_in_mb is already set. |
| |
| * smallprint.c (console_printf): Add Windows 95 concessions. |
| |
| Sun Sep 9 13:01:06 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * child_info.h (PROC_MAGIC): Bump magic number. |
| |
| Sun Sep 9 18:36:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (init_cygheap::etc_changed): New method to signal |
| a change in /etc. |
| * cygheap.h (struct init_cygheap): Add member `etc_changed_h' |
| and method `etc_changed'. |
| * grp.cc (enum grp_state): Eliminate. |
| (class grp_check): Ditto. |
| (group_state): Define as `class pwdgrp_check'. |
| (parse_grp): Remeber path and modification time of /etc/group file. |
| * passwd.cc (enum_pwd_state): Eliminate. |
| (class pwd_check): Ditto. |
| (passwd_state): Define as `class pwdgrp_check'. |
| (read_etc_passwd): Remember path and modification time of /etc/passwd |
| file. |
| * pwdgrp.h: New file. |
| (enum pwdgrp_state): Substitutes `pwd_state' and `grp_state'. |
| (class pwdgrp_check): Substitutes `pwd_check' and `grp_check'. |
| |
| Sun Sep 9 14:31:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump API minor version to 45 according |
| to adding the gamm*_r functions. |
| |
| Sat Sep 8 23:32:18 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (fork_parent): Stop malloc activity while fork is in control |
| of the heap. |
| * sigproc.cc (NZOMBIES): Rename from ZOMBIEMAX for clarity. |
| (zombies): Revert to original behavior. Allocating zombie array |
| resulted in performance hit. |
| * winsup.h: Declare malloc lock routines. |
| |
| Fri Sep 7 21:35:35 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din: Add gamm*_r function exports. |
| |
| Fri Sep 7 17:11:11 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.h (init_cygheap): Move heap pointers here. |
| * include/sys/cygwin.h (perprocess): Remove heap pointers. |
| * dcrt0.cc (__cygwin_user_data): Reflect obsolete perprocess stuff. |
| (_dll_crt0): Don't initialize heap pointers. |
| (cygwin_dll_init): Ditto. |
| (release_upto): Use heap pointers from cygheap. |
| * heap.h: Ditto. |
| * fork.cc (fork_parent): Ditto. Don't set heap pointers in ch. |
| (fork_child): Remove obsolete sigproc_fixup_after_fork. |
| * shared.cc (memory_init): Reorganize so that cygheap initialization is |
| called prior to regular heap since regular heap uses cygheap now. |
| * sigproc.cc (proc_subproc): Eliminate zombies allocation. |
| (sigproc_init): Move zombies alloation here. Don't free up array on |
| fork, just reuse it. |
| (sigproc_fixup_after_fork): Eliminate. |
| * sigproc.h: Ditto. |
| * include/cygwin/version.h: Reflect change to perprocess structure. |
| |
| Fri Sep 7 10:53:34 2001 Jason Tishler <jason@tishler.net> |
| |
| * poll.cc (poll): Change implementation to only call select() when no |
| invalid file descriptors are specified. |
| |
| Fri Sep 7 10:27:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/limits.h: Define PIPE_BUF. |
| * syscalls.cc (fpathconf): Use PIPE_BUF instead of numerical constant. |
| (pathconf): Ditto. |
| |
| Thu Sep 6 20:04:05 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_socket.cc (fhandler_socket::fhandler_socket): Ensure that |
| prot_info_ptr is zeroed for later use. |
| |
| Thu Sep 6 14:03:49 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (cygheap_fixup_in_child): Don't consider a NULL bucket as |
| a candidate for deletion. It is actually the end of a linked list |
| chain. |
| |
| * exceptions.cc (open_stackdumpfile): Default to "unknown" program name |
| if myself->progname hasn't been filled out yet. |
| |
| Thu Sep 6 01:16:44 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Move appropriate variables to NO_COPY segment, throughout. |
| |
| Thu Sep 6 00:40:35 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Remove initialization of static or global values to zero, throughout. |
| This just needlessly grows the size of the DLL. |
| * tty.cc (tty::alive): Make inuse handle non-inheriting on open, just |
| for thread safety. |
| |
| Wed Sep 5 23:36:03 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.h (init_cygheap): Move bucket array here from cygheap.cc. |
| * cygheap.cc: Throughout use bucket array from cygheap. |
| |
| * sigproc.cc (proc_subproc): Dynamically allocate zombie buffer to save |
| DLL space. |
| (sigproc_fixup_after_fork): Free zombie array after a fork. |
| * sigproc.h (sigproc_fixup_after_fork): Declare. |
| |
| 2001-09-06 Egor Duda <deo@logos-m.ru> |
| |
| * dir.cc (mkdir): Expand buffer for security descriptor to 4K to avoid |
| stack corruption. |
| * fhandler.cc (fhandler_base::open): Ditto. |
| * path.cc (symlink): Ditto. |
| |
| Wed Sep 5 21:35:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * winver.rc: Change copyright to include 2001. |
| |
| Wed Sep 5 12:12:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_floppy.cc (fhandler_floppy::lseek): Remove iswinnt check. |
| |
| Wed Sep 5 11:34:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::close): Change 2MSL value |
| according to MSDN. |
| |
| Wed Sep 5 10:14:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_connect): Add WSAEALREADY and WSAEINVAL handling |
| for non-blocking sockets. |
| |
| Tue Sep 4 22:42:13 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (ctrl_c_handler): Only send SIGINT when we have a |
| controlling terminal and we are the head of the process group. |
| |
| Tue Sep 4 16:48:14 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * thread.cc (InterlockedExchangePointer): Don't define if it already |
| exists. |
| |
| Tue Sep 4 22:14:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uname.cc (uname): Eliminate os specific retrieving of x86 |
| processor type. |
| |
| 2001-09-04 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * fhandler_console.cc (fhandler_console::char_command): Save the cursor |
| position relative to the top of the window. |
| * fhandler_cc (fhandler_console::write): Ditto. |
| |
| Mon Sep 3 21:06:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (opendir): Write version information to __d_dirent->d_version. |
| |
| Mon Sep 3 18:34:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Add `dirfd'. |
| * dir.cc (dirfd): New function. |
| (opendir): Open a directory file descriptor and save it in |
| __d_dirent->d_fd. |
| (closedir): Close directory file descriptor. |
| * include/cygwin/version.h: Bump API minor version to 44. |
| |
| Sun Sep 2 22:09:31 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * child_info.h: Modify magic number. |
| * dcrt0.cc (_cygwin_testing): Define. |
| (_dll_crt0): Set _cygwin_testing if CYGWIN_TESTING environment variable |
| exists. Don't issue "conflicting versions" error if _cygwin_testing is |
| true. |
| * shared.cc (shared_name): Use _cygwin_testing global rather than |
| testing the environment. |
| * syscalls.cc (_write): Remove debugging info. |
| |
| Sat Sep 1 01:37:13 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * tty.cc (tty::create_inuse): Eliminate unneeded argument. |
| * tty.h: Reflect above change. |
| * fhandler_tty.cc: Reflect argument reduction in tty::create_inuse, |
| throughout. Always make inuse inheritable. |
| |
| Sat Sep 1 01:10:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * debug.cc (mark_closed): Rename from debug_mark_closed and make |
| static. |
| (setclexec_pid): New function for marking saved handle as |
| close-on-exec. |
| (delete_handle): New function. |
| (debug_fixup_after_fork): New function. |
| * debug.h: Declare new functions, remove obsolete ones. |
| * fork.cc (debug_fixup_after_fork): Call to cleanup close-on-exec |
| handles. |
| |
| * fhandler.cc (fhandler_disk_file::close): Minor reorg. |
| (fhandler_base::set_inheritance): Set flag appropriately for debugging |
| when close-on-exec so forked process can delete closed handles. |
| * tty.h (open_output_mutex): Eliminate unneeded argument. |
| (open_input_mutex): Ditto. |
| * fhandler_tty.cc (fhandler_tty_slave::open): reflect open_*_mutex |
| argument changes. |
| * fhandler.h (fhandler_socket): Make saw_shutdown_* functions type |
| bool. |
| * tty.cc (tty::get_event): Eliminate unneeded argument. |
| (tty::common_init): Reflect change to get_event. Events should always |
| be inherited. |
| |
| Fri Aug 31 21:39:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (create_token): Change initialization of `exp' to comply |
| with new LARGE_INTEGER definition in winnt.h. |
| |
| Fri Aug 31 13:58:51 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.sc: Revert to previous NO_COPY behavior. |
| * winsup.h: Ditto. |
| * sigproc.cc: Ditto. |
| * autoload.cc: Ditto. |
| |
| Fri Aug 31 00:56:26 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.sc: New file -- linker script for building cygwin DLL. |
| * Makefile.in: Use linker script to control location of cygheap. |
| * cygheap.cc (buckets): Make static. |
| (init_cheap): Remove special iswinnt handling. Allocate cygheap at a |
| fixed location. Display more info when allocation fails. |
| (cygheap_fixup_in_child): Try harder to move cygheap to correct |
| location. Display more info when allocation fails. |
| * fhandler.h (fhandler_socket): Add macros for tracking socket shutdown |
| state. |
| * net.cc (cygwin_shutdown): Set appropriate shutdown value for future |
| use. |
| * select.cc (select_stuff::cleanup): New method. |
| (cygwin_select): Call cleanup explicitly to avoid a race. |
| (select_stuff:~select_stuff): Call cleanup chain via cleanup method. |
| (fhandler_socket::select_read): Set *_ready when shutdown has been |
| called on the socket. |
| (fhandler_socket::select_write): Ditto. |
| (fhandler_socket::select_except): Ditto. |
| |
| * winsup.h: Move NO_COPY to "COMMON" section. |
| * autoload.cc (wsock_started): Avoid initializing NO_COPY value. |
| * sigproc.cc: Remove initialization from NO_COPY variables. |
| (sigproc_init): Initialize sig_loop_wait here, rather than via |
| initialization. |
| (subproc_init): Initialize proc_loop_wait here, rather than via |
| initialization. |
| |
| Thu Aug 30 10:19:00 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (select_read): Add setting read_ready flag. |
| (select_write): Add setting write_ready flag. |
| |
| Wed Aug 29 00:40:42 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Avoid splitting off leading '/' in path |
| component when building a symlink. |
| |
| Wed Aug 29 0:45:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * resource.cc (getrlimit): Return actual values on RLIMIT_STACK. |
| |
| Tue Aug 28 16:37:17 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dir.cc (rmdir): Report ENOENT when file doesn't exist rather than |
| ENOTDIR. |
| |
| Mon Aug 27 11:58:19 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (cygwin_select): Ensure that arguments are zeroed on |
| timeout. |
| (select_stuff::wait): Ditto. |
| |
| 2001-08-24 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * syscalls.cc (check_tty_fds): New function. Check whether there is a |
| fd referring to pty slave. |
| (setsid): Don't detach console if the process has a pty slave. |
| |
| Fri Aug 24 8:54:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (free_addr_list): Add define for symmetry. |
| (free_hostent_ptr): Use free_addr_list to free h_addr_list element. |
| |
| Thu Aug 23 16:00:09 2001 Jason Tishler <jason@tishler.net> |
| |
| * net.cc (dup_addr_list): New static function. |
| (dup_hostent_ptr): Use dup_addr_list instead of dup_char_list in order |
| to handle embedded null characters. |
| |
| Wed Aug 22 22:23:14 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dtable.cc (dtable::dup2): Allow extension of fd table by dup2. |
| * syscalls.cc: Minor code cleanup. |
| (fpathconf): Check for bad fd before doing anything else. |
| * termios.cc (tcsetattr): Don't convert to new termios if bad fd. |
| (tcgetattr): Minor debugging tweak. |
| |
| Wed Aug 22 23:41:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_inet_ntoa): Rearrange previous patch to use |
| thread local buffer space when compiled thread safe. |
| (cygwin_getprotobyname): Ditto. |
| (cygwin_getprotobynumber): Ditto. |
| (cygwin_getservbyname): Ditto. |
| (cygwin_getservbyport): Ditto. |
| (cygwin_gethostbyname): Ditto. |
| (cygwin_gethostbyaddr): Ditto. Move near to cygwin_gethostbyname. |
| * thread.h (struct _winsup_t): Add pointers for above used buffer space. |
| * passwd.cc (getpwduid): Remove initializing passwd. |
| (setpwent): Ditto. |
| (endpwent): Ditto. |
| (setpassent): Ditto. |
| |
| Wed Aug 22 13:41:09 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * smallprint.c (console_printf): New function. |
| * dcrt0.cc (dll_crt0_1): Use console_printf for debugging output. |
| * debug.cc (debug_mark_closed): New function. |
| (close_handle): Use debug_mark_closed. |
| * debug.h: Declare new functions. |
| * dtable.cc (dtable::build_fhandler): Remove unneeded extern. |
| * spawn.cc: Cosmetic changes. |
| * winsup.h: Define NO_COPY for C files, too. Declare a global. |
| |
| Wed Aug 22 17:31:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (free_char_list): New static function. |
| (dup_char_list): Ditto. |
| (free_protoent_ptr): Ditto. |
| (dup_protoent_ptr): Ditto. |
| (free_servent_ptr): Ditto. |
| (dup_servent_ptr): Ditto. |
| (free_hostent_ptr): Ditto. |
| (dup_hostent_ptr): Ditto. |
| (cygwin_inet_ntoa): Use local static buffer to allow propagating of |
| the result to child processes. |
| (cygwin_getprotobyname): Ditto. |
| (cygwin_getprotobynumber): Ditto. |
| (cygwin_getservbyname): Ditto. |
| (cygwin_getservbyport): Ditto. |
| (cygwin_gethostbyname): Ditto. |
| (cygwin_gethostbyaddr): Ditto. |
| |
| Mon Aug 20 11:56:19 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (init_cheap): Allocate cygheap in shared memory for Windows NT. |
| |
| Thu Aug 16 09:38:59 2001 Jason Tishler <jason@tishler.net> |
| |
| * fhandler_socket.cc (fhandler_socket::create_secret_event): Relax |
| security of secret_event so AF_UNIX socket clients can connect to |
| servers even if running under a different user account. |
| (fhandler_socket::check_peer_secret_event): Ditto. |
| |
| Thu Aug 16 16:26:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * resource.cc (getrlimit): Return getdtablesize () as current limit |
| on RLIMIT_NOFILE. |
| * syscalls.cc (getdtablesize): Return OPEN_MAX if current dtable size |
| is less than OPEN_MAX, the current dtable size otherwise. |
| * sysconf.cc (sysconf): Return getdtablesize () on _SC_OPEN_MAX. |
| |
| Thu Aug 16 16:17:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * resource.cc (getrlimit): Return OPEN_MAX as current limit |
| on RLIMIT_NOFILE. |
| * syscalls.cc (getdtablesize): Return OPEN_MAX. |
| * sysconf.cc (sysconf): Return OPEN_MAX on _SC_OPEN_MAX. |
| * include/limits.h (OPEN_MAX): Define as 256. |
| |
| Wed Aug 15 12:43:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * times.cc (utimes): Revert previous change. Just open the |
| file using FILE_WRITE_ATTRIBUTES instead of GENERIC_WRITE |
| on NT/W2K. |
| |
| Wed Aug 15 12:18:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (set_nt_attribute): Return always -1 in case of |
| a failure. |
| * times.cc (utimes): On NTFS with ntsec ON, change the file's |
| security descriptor temporarily to acquire write access if |
| opening the file failed. |
| |
| Wed Aug 15 9:42:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::is_nonblocking): New method. |
| (fhandler_base::set_nonblocking): Ditto. |
| * fhandler.h (fhandler_base): Declare new methods `is_nonblocking' and |
| `set_nonblocking'. |
| * fhandler_socket.cc (fhandler_socket::ioctl): Use `set_nonblocking'. |
| * fhandler_tty.cc (fhandler_pty_master::process_slave_output): |
| Use `is_nonblocking'. |
| (fhandler_tty_slave::read): Ditto. |
| (fhandler_tty_slave::ioctl): Use `set_nonblocking'. |
| (fhandler_pty_master::ioctl): Ditto. |
| * net.cc (cygwin_sendto): Fallback to winsock 1 functionality |
| in case of nonblocking IO. |
| (cygwin_recvfrom): Ditto. |
| (cygwin_recv): Ditto. |
| (cygwin_send): Ditto. |
| * syscalls.cc (_read): Use `is_nonblocking'. |
| |
| Tue Aug 14 11:05:26 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/cygwin/version.h: Bump API version. |
| |
| 2001-08-14 Egor Duda <deo@logos-m.ru> |
| |
| * spawn.cc (spawn_guts): Enable appropriate privilege before |
| loading user's registry hive. |
| |
| Mon Aug 13 22:34:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::fcntl): Use new O_NONBLOCK_MASK define. |
| * fhandler.h: Move definitions of O_NOSYMLINK, O_DIROPEN and |
| OLD_O_NDELAY from winsup.h to here. Add O_NONBLOCK_MASK define. |
| * fhandler_socket.cc (fhandler_socket::close): Add hack to allow |
| a graceful shutdown even if shutdown() hasn't been called by the |
| application. Add debug output. |
| (fhandler_socket::ioctl): Set fhandler's NONBLOCK flag according |
| to FIONBIO setting. |
| (fhandler_socket::fcntl): Use new O_NONBLOCK_MASK define. Actually |
| set `request' before using it. |
| * fhandler_tty.cc: Use new O_NONBLOCK_MASK define throughout. |
| (fhandler_tty_slave::ioctl): Set fhandler's NONBLOCK flag according |
| to FIONBIO setting. |
| (fhandler_pty_master::ioctl): Ditto. |
| * net.cc (wsock_event::prepare): Compare WSACreateEvent return code |
| with `WSA_INVALID_EVENT' according to MSDN. |
| * syscalls.cc (_read): Use new O_NONBLOCK_MASK define. |
| |
| Wed Aug 8 15:24:59 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/wchar.h: Define __need_wint_t. |
| |
| Wed Aug 8 11:46:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (alloc_sd): Revert to setting inheritance attribute for |
| permissions given to directories. Never set inheritance on NULL ACE. |
| |
| Tue Aug 7 18:11:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (alloc_sd): Don't set FILE_DELETE_CHILD for group |
| if S_ISVTX attribute is given. |
| * dir.cc (mkdir): Allow immediate setting of S_ISUID, S_ISGID and |
| S_ISVTX attribute. |
| * syscalls.cc (_open): Ditto. |
| |
| Tue Aug 7 16:24:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (mkdir): Set security attributes correctly for |
| CreateDirectoryA () call if ntsec is on. Don't call |
| set_file_attributes () then. |
| * fhandler.cc (fhandler_base::open): Ditto for CreateFileA () call. |
| * path.cc (symlink): Ditto. |
| * security.cc (set_security_attribute): New function. |
| * security.h: Add declaration for `allow_ntea' and |
| `set_security_attribute'. |
| |
| Tue Aug 7 10:54:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (class grp_check): New class. Make `group_state' |
| a member of class grp_check. |
| (read_etc_group): Free former allocated memory on reread. |
| * passwd.cc (class pwd_check): New class Make `passwd_state' |
| a member of class pwd_check. |
| (read_etc_passwd): Free former allocated memory on reread. |
| |
| Tue Aug 7 01:13:58 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_console.cc (get_tty_stuff): Don't initialize shared memory |
| console area if it is already initialized. |
| |
| * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Augment debugging |
| info. |
| |
| Mon Aug 6 19:58:43 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (cygheap_root::set): Avoid treating '/' specially. |
| |
| * fhandler.cc (fhandler_base::fcntl): Only set specific O_NDELAY style |
| flag passed in from application. |
| * fhandler_socket.cc (fhandler_socket::fcntl): Ditto. |
| * fhandler.h: Set constant for future use. |
| * winsup.h: Define OLD_O_NDELAY only for old programs. |
| * include/cygwin/version.h: Define |
| CYGWIN_VERSION_CHECK_FOR_OLD_O_NONBLOCK. |
| |
| Sat Aug 4 16:52:03 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout, change check for running under Windows NT to 'iswinnt'. |
| * dcrt0.cc (set_os_type): Set 'iswinnt' appropriately. |
| * cygheap.cc (init_cheap): Revert to using VirtualAlloc for allocating |
| cygheap. |
| (cygheap_setup_for_child_cleanup): New function. Standard function to |
| call after calling CreateProcess to cleanup cygheap info passed to |
| child. |
| (cygheap_fixup_in_child): Copy cygheap from shared memory into |
| allocated space under Windows 9x or if can't relocate shared space |
| under NT. |
| * cygheap.h: Declare new function. |
| * spawn.cc (spawn_guts): Use cygheap_fixup_in_child. |
| * fork.cc (fork_parent): Ditto. |
| * winsup.h: Declare iswinnt. |
| |
| 2001-08-04 Egor Duda <deo@logos-m.ru> |
| |
| * dtable.cc (dtable::release): Avoid messing with console when |
| closing socket. |
| |
| Fri Aug 3 14:02:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_accept): Allow NULL peer and len parameters. |
| * include/cygwin/socket.h: Define socklen_t as int. |
| |
| Fri Aug 3 13:04:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (fchdir): Set the fhandler's path to absolute value to ensure |
| changing to the correct directory even if the fhandler originally |
| points to a relative path. |
| |
| Thu Aug 2 17:59:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (set_file_attribute): Clean up. Don't call |
| `set_nt_attribute' when ntsec isn't set. |
| |
| Sat Jul 28 22:30:55 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (alloc_stack_hard_way): Make half-hearted attempt to deal |
| with growing stack under Windows 95. |
| |
| Fri Jul 27 12:36:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Add install-lib and install-headers. |
| |
| Fri Jul 27 12:28:12 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din: Export sys_errlist, sys_nerr. |
| * include/cygwin/version.h: Bump minor version number. |
| |
| Fri 27 Jul 2001 10:29:00 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (get_user_primary_group): Fix compiler warning. |
| (alloc_sd): Add DELETE permission for user when S_IWUSR is given. |
| |
| Thu Jul 26 16:43:39 2001 Pieter de Visser <pieterdv@knoware.nl> |
| |
| * thread.cc (__pthread_equal): Invert return value so that true is |
| returned when threads are equal. |
| |
| Thu Jul 26 15:50:38 2001 Charles Wilson <cwilson@ece.gatech.edu> |
| Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din: Export __signgam. |
| * include/cygwin/version.h: Bump minor version number. |
| |
| Thu Jul 26 15:19:50 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout, reorganize header file inclusion to put security.h prior to |
| fhandler.h. |
| * fhandler.h (fhandler_base::get_inheritance): New method. |
| * fhandler_socket.cc (fhandler_socket::create_secret_event): Use proper |
| close-on-exec inheritance when creating. |
| (fhandler_socket::check_peer_secret_event): Create handle as |
| non-inheritable. |
| |
| 2001-07-25 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * syscalls.cc (setsid): Detach process from its console if the current |
| controlling tty is the console and already closed. |
| * dtable.h (class dtable): Add members to count descriptors referring |
| to the console. |
| * dtable.cc (dtable::dec_console_fds): New function to detach process |
| from its console. |
| (dtable::release): Decrement the counter of console descriptors. |
| (dtable::build_fhandler): Increment it. |
| * exception.cc (ctrl_c_handler): Send SIGTERM to myself when catch |
| CTRL_SHUTDOWN_EVENT. |
| |
| Tue 24 Jul 2001 02:28:00 PM Trevor Forbes <t4bs@hotmail.com> |
| |
| * thread.cc (verifyable_object_isvalid): Don't validate |
| PTHREAD_MUTEX_INITIALIZER pointer as it will cause an exception |
| in IsBadWritePtr() when running GDB. |
| |
| Wed 25 Jul 2001 23:46:00 Corinna Vinschen <corinna@vinschen.de> |
| |
| * localtime.c: Changed whole file to become C++ clean. Rename to |
| localtime.cc. |
| * localtime.cc (tzload): Preserve errno. |
| |
| Fri 20 Jul 2001 11:15:50 PM EDT Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (cygheap_fixup_in_child): Attempt Win95 workaround. |
| * dtable.cc (dtable::dup_worker): Add debugging output. |
| (dtable::vfork_child_dup): Correctly set close_on_exec. |
| * fhandler.cc (fhandler_base::fork_fixup): Don't mess with handle if |
| there is no need to get it from the parent. |
| * fhandler_tty.cc (fhandler_tty_common::close): Add debugging output. |
| |
| Fri 20 Jul 2001 09:15:00 Mark Bradshaw <bradshaw@staff.crosswalk.com> |
| |
| * dir.cc (readdir): Protect FindNextFileA against INVALID_HANDLE_VALUE. |
| |
| Wed 18 Jul 2001 01:00:47 PM EDT Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (_cmalloc): Use correct constants for size calculation. |
| * dcrt0.cc (dll_crt0_1): Move uid initialization earlier. |
| * fork.cc (fork_parent): Move cygheap_setup_in_child to just prior to |
| CreateProcess so that all contents of cygheap are copied. |
| * spawn.cc (spawn_guts): Ditto. |
| |
| Wed 18 Jul 2001 12:54:17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (get_user_groups): Call Net function with NULL server |
| name under specific error conditions. |
| (is_group_member): Ditto. |
| (get_user_local_groups): Ditto. |
| (get_user_primary_group): Ditto. |
| |
| Wed 18 Jul 2001 11:56:00 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (_unlink): Explicitly check for non-existant file. |
| |
| Tue 17 Jul 2001 10:19:00 Corinna Vinschen <corinna@vinschen.de> |
| |
| * delqueue.h: Remove obsolete file. |
| |
| Mon 16 Jul 2001 10:47:17 PM EDT Christopher Faylor <cgf@cygnus.com> |
| |
| * child_info.h: Bump magic number. |
| (class child_info): Add an element. |
| * cygheap.cc (init_cheap): Allocate cygwin heap in shared memory area. |
| (cygheap_fixup_in_child): Map cygwin heap, passed from parent via |
| shared memory into correct address. |
| (cygheap_setup_for_child): New function. |
| * cygheap.h: Declare new functions. |
| * dcrt0.cc (dll_crt0_1): Accommodate new cygheap_fixup_in_child |
| arguments. Avoid protecting subproc_ready unless it is spawn/nowait. |
| * fork.cc (fork_parent): Use new cygheap_setup_for_child function to |
| setup cygwin heap info. Close passed cygheap shared memory handle. |
| * spawn.cc (spawn_guts): Ditto. Also, reorganize to avoid |
| synchronization between parent and child in non-P_OVERLAY case. |
| * sigproc.cc (wait_sig): Only signal subproc_ready when execing. |
| |
| Mon 16 Jul 2001 15:21:00 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc: Add missing Copyright date 2001. |
| |
| Mon 16 Jul 2001 00:11:00 Corinna Vinschen <corinna@vinschen.de> |
| |
| Change well_known_admin_sid to well_known_admins_sid throughout. |
| * sec_acl.cc (setacl): Never set DELETE permission. Set |
| FILE_DELETE_CHILD only on readable and executable directories. |
| * sec_helper.cc: Add constructor for `well_known_null_sid'. |
| * security.cc (get_nt_attribute): Set S_ISVTX for directories if |
| FILE_WRITE_DATA and FILE_EXECUTE but not FILE_DELETE_CHILD is set. |
| Add evaluation of S_ISVTX, S_ISGID and S_ISUID from NULL ACE. |
| (alloc_sd): Never set DELETE permission. Set FILE_DELETE_CHILD |
| only on readable and executable directories. |
| Add creation of NULL ACE for S_ISVTX, S_ISGID and S_ISUID permissions. |
| * security.h: Add extern declaration for `well_known_null_sid'. |
| |
| Fri 13 Jul 2001 08:08:49 PM EDT Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (stat_worker): Simplify previous change. |
| |
| Fri Jul 13 13:13:09 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_unlink): Correct (?) logic which determines when |
| to report an access violation and when to queue file for eventual |
| deletion. |
| (stat_worker): Check for invalid buf argument. |
| |
| Tue Jul 10 23:01:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (fhandler_disk_file::mmap): Try to open file mappings |
| by a unified name when running under 9x/ME. If that failes, create |
| the file mapping using the unified name. |
| |
| Mon Jul 9 10:43:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uinfo.cc (internal_getlogin): Add pointer check. |
| |
| Mon Jul 9 10:05:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (alloc_sd): Don't set inheritance attribute for |
| permissions given to directories. |
| |
| Thu Jun 28 22:19:08 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Return 0 for success. |
| |
| Wed Jun 27 22:19:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Add signal protection here since |
| retrieving info about remote shares can take some time. |
| |
| Wed Jun 27 23:30:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| Christopher Faylor <cgf@cygnus.com> |
| |
| Change check_null_empty_path* to check_null_empty_str* throughout. |
| * path.h (check_null_empty_str_errno): Convert to a function prototype. |
| * path.cc (check_null_empty_str): Move to miscfuncs.cc. |
| * miscfuncs.cc (check_null_empty_str_errno): New function. |
| (__check_null_invalid_struct): Ditto. |
| (__check_null_invalid_struct_errno): Ditto. |
| (check_null_empty_str): Change from VirtualQuery to IsBadWritePtr. |
| * thread.cc (check_valid_pointer): Ditto. |
| * resource.cc (getrlimit): Use check_null_invalid_struct macro for |
| checking validity of pointer. |
| (setrlimit): Ditto. |
| |
| Tue Jun 26 16:59:16 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_disk_file::fstat): Don't rely on exactly 3 |
| characters being read for executable test since we could be checking |
| for less than that. |
| * syscalls.cc (stat_worker): Try opening the file the "correct" way |
| first so that #! processing can potentially happen. If that fails, |
| then use "query open" method. |
| |
| * spawn.cc (spawn_guts): Delay processing of signal until after we've |
| notified parent about reparenting. |
| |
| Tue Jun 26 10:47:24 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * mmap.cc: Clean up *ResourceLock calls throughout. |
| |
| Tue Jun 26 22:10:00 2001 Robert Collins rbtcollins@hotmail.com |
| |
| * thread.cc (pthread_cond::TimedWait): Check for WAIT_TIMEOUT as well |
| as WAIT_ABANDONED. |
| (__pthread_cond_timedwait): Calculate a relative wait from the abstime |
| parameter. |
| |
| Sun Jun 24 17:38:19 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (interrupt_setup): Move actions from setup_handler to |
| here. |
| (setup_handler): Move actions after a successful interrupt to |
| interrupt_setup. |
| * fork.cc (vfork): Augment debugging output. |
| * sigproc.cc (proc_subproc): Ditto. |
| * spawn.cc (spawn_guts): Ditto. Correctly fill out progname when spawn |
| NO_WAIT. Call signal handler when a signal arrives. |
| * sigproc.h: Declare a function. |
| |
| Fri Jun 22 16:50:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h class fhandler_socket): Declare new method |
| `set_close_on_exec'. |
| * fhandler_socket.cc (fhandler_socket::set_close_on_exec): |
| New method. |
| |
| Fri Jun 22 16:12:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (fhandler_dev_tape::tape_erase): Set size |
| parameter to value expected by GetTapeParameters(). |
| |
| Thu Jun 21 22:01:39 2001 Marius Gedminas <mgedmin@delfi.lt> |
| |
| * fhandler_console.cc (fhandler_console::read): Detect AltGr more |
| robustly on WinNT. |
| |
| 2001-06-22 Robert Collins <rbbtcollins@hotmail.com> |
| |
| * thread.cc (__pthread_cond_timedwait): Lock the waiting mutex before |
| the condition protect mutex to avoid deadlocking. (Found by Greg Smith). |
| (__pthread_cond_wait): Ditto. |
| |
| 2001-06-30 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.cc (fhandler_base::open): Work around windows bug when |
| CreateFile() with dwDesiredAccess == 0 called on remote share returns |
| valid handle even if file doesn't exist. |
| |
| 2001-06-20 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler_socket.cc (fhandler_socket::signal_secret_event): New |
| function. |
| * fhandler.h: Declare it. |
| * fhandler_socket.cc (fhandler_socket::create_secret_event): Don't |
| signal secret event immediately. |
| (fhandler_socket::check_peer_secret_event): Do it after peer event |
| was opened. |
| * net.cc (cygwin_connect): Or if socket is non-blocking. |
| (cygwin_accept): Ditto. |
| |
| Mon Jun 18 17:09:25 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::init): Revert 2001-06-16 change. |
| |
| * fork.cc (fork_copy): Print more debugging info. |
| (fork_parent): Change order of arguments to accomdate buggy gcc. |
| (fork): Ditto. |
| |
| Sun Jun 17 18:54:46 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_unlink): Reorganize to try harder to delete file with |
| DeleteFile and to recover more gracefully if FILE_FLAG_DELETE_ON_CLOSE |
| doesn't work properly. |
| |
| Sat Jun 16 13:06:49 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (sig_handle_tty_stop): Reset PID_STOPPED if not |
| actually stopping. |
| * fhandler_console.cc (fhandler_console::fixup_after_fork): Don't set |
| controlling terminal if just inheriting a handle. |
| (fhandler_console::fixup_after_exec): Ditto. |
| * fhandler_tty.cc (fhandler_tty_slave::init): Ditto. |
| * signal.cc (kill_worker): Set appropriate errno if proc_exists |
| determines that process does not really exist. |
| |
| Fri Jun 15 14:34:19 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Deal more robustly with foo/ behavior. |
| |
| Fri Jun 15 11:15:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size |
| parameter to value expected by GetTapeParameters(). |
| |
| Thu Jun 14 20:19:46 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_disk_file::fstat): Properly set executable bits |
| for directory when !ntsec && !ntea. Also move common code prior to |
| call to get_attributes. |
| |
| Fri June 15 09:25:00 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (pthread_cond::Signal): Release the condition access |
| variable correctly. |
| |
| 2001-06-14 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.cc (fhandler_base::open): Set win32 access flags to 0, when |
| requested. |
| * fhandler.h: New status flag FH_QUERYOPEN. |
| (fhandler::get_query_open): New function. |
| (fhandler::set_query_open): Ditto. |
| * syscalls.cc (stat_worker): Request query-only open mode. |
| |
| 2001-06-12 Egor Duda <deo@logos-m.ru> |
| |
| * environ.cc (set_file_api_mode): New function. Move setting |
| of file APIs mode (OEM/ANSI) here. |
| (codepage_init): From here. |
| * winsup.h (set_file_api_mode): Declare it. |
| * fork.cc (fork_child): Set file APIs mode in forkee. |
| |
| Mon Jun 11 14:19:49 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * pinfo.cc: Use autoloaded ToolHelp functions throughout for Win9x. |
| * autoload.cc: Autoload ToolHelp functions. |
| |
| * sigproc.cc (proc_subproc): Incorporate SIGCHLD == SIG_IGN special |
| handling of zombie processes. Ensure that zombie processes which are |
| at the end of the zombie array are properly cleaned up. |
| |
| Mon Jun 11 11:18:56 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (chdir): Fix call to path_conv constructor so that it REALLY |
| doesn't check for the null/non-empty path. |
| |
| Sun Jun 10 23:34:09 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::update_fs_info): Don't consider remote drives to |
| be NTFS. Set root_dir before invoking GetDriveType (from Kazuhiro |
| Fujieda <fujieda@jaist.ac.jp>). Eliminate extra checks for rootdir. |
| |
| Sun Jun 10 20:19:47 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (chdir): Pre-check path for validity before eating trailing |
| space. Then, ensure that path_conv doesn't check the path for validity |
| again. |
| |
| Sun Jun 10 12:56:00 2001 Christopher Faylor <cgf@redhat.com> |
| |
| * exceptions.cc (sigdelayed): Ensure that signal is cleared as |
| the last operation or suffer races. |
| * sigproc.cc (proc_subproc): Deal with zombie array overflow. |
| |
| Sun Jun 10 11:56:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Add fchdir symbols. |
| * path.cc (chdir): Guard against invalid parameter. |
| (fchdir): New function. |
| * include/cygwin/version.h: Bump API minor version to 40. |
| * uinfo.cc (internal_getlogin): Remove unused variable. |
| |
| Sat Jun 9 23:20:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (seteuid): Set environment variables USERNAME and |
| USERDOMAIN before impersonation to workaround a LookupAccountSid() |
| misbehaviour. |
| * uinfo.cc (internal_getlogin): Revert most of the previous change. |
| Don't set environment variables USERNAME and USERDOMAIN. That's |
| the job of seteuid() now. Try to get logon server from Lsa |
| only if logon server isn't already known. |
| |
| Thu Jun 7 15:54:32 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (pthread_cond::Broadcast): Don't print error messages on |
| invalid mutexs - user programs are allowed to call |
| pthread_cond_broadcast like that. |
| (__pthread_cond_timedwait): Initialise themutex properly. |
| (__pthread_cond_wait): Initialise themutex properly. |
| |
| Tue Jun 5 19:56:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_console.cc (fhandler_console::dup): Allocate space for |
| savebuf on Cygwin heap. |
| (fhandler_console::char_command): Ditto. Use correct values for size. |
| |
| 2001-06-05 Egor Duda <deo@logos-m.ru> |
| |
| * security.h (NTWriteEA): Change prototype. |
| * ntea.cc (NTReadEA): Don't check for global ntea setting, now |
| it's caller responsibility. |
| (NTWriteEA): Ditto. |
| * security.cc (get_file_attribute): Read attribute from EA only |
| if 'ntea' is enabled. |
| (set_file_attribute): Ditto. |
| * path.h: (class path_conv): Add members to store file system |
| information. |
| (path_conv::get_drive_type): New function. |
| * syscalls.cc (stat_worker): Use it. |
| * path.cc (path_conv::update_fs_info): New functions. |
| (path_conv::check): Get file system information from device where |
| file resides. On NTFS, try to read symlink contents from EA. |
| (get_symlink_ea): New function. |
| (set_symlink_ea): Ditto. |
| (symlink): Store symlink in extended attribute, if possible. |
| |
| Tue Jun 5 11:18:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_disk_file::fstat): Always reset file position |
| to original value after checking for executable magic. |
| |
| Mon Jun 4 16:21:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (cygheap_user::cygheap_user): Initialize token to |
| INVALID_HANDLE_VALUE. |
| * uinfo.cc (uinfo_init): Close token handle if needed. |
| |
| Sun Jun 3 20:52:13 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (normalize_posix_path): Revert .. check removed by previous |
| changes. |
| * cygheap.h: Temporarily declare path_prefix_p here. |
| |
| Mon Jun 4 0:14:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (wsock_event): Add destructor. |
| |
| Sun Jun 3 09:49:55 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * dlfcn.cc (dlclose): Do not call FreeLibrary if the symbol to close |
| was obtained by dlopen(NULL,...). |
| |
| Sat Jun 2 23:11:52 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (sleep): Try to be a little more accomodating of signal |
| arrival. Ensure that the signal handler is called. |
| |
| Sat Jun 2 14:07:28 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (cygheap_root::cygheap_root): Remove constructor. |
| (cygheap_root::~cygheap_root): Remove destructor. |
| (cygheap_root::operator =): Remove. |
| (cygheap_root::set): New method. |
| * cygheap.h (cygheap_root): Reflect above changes. Store root info in |
| mount-like structure. |
| (cygheap_root:posix_ok): New method. |
| (cygheap_root::ischroot_native): Ditto. |
| (cygheap_root::unchroot): Ditto. |
| (cygheap_root::exists): Ditto. |
| (cygheap_root::posix_length): Ditto. |
| (cygheap_root::posix_path): Ditto. |
| (cygheap_root::native_length): Ditto. |
| (cygheap_root::native_path): Ditto. |
| * dir.cc (opendir): Remove special chroot test. |
| * path.cc (path_prefix_p): Remove front end. |
| (normalize_posix_path): Reorganize chroot tests to accommodate new |
| convention of allowing paths using posix chroot prefix. |
| (path_conv::check): Pass a "already ran normalize" option to |
| conv_to_win32_path. Return if there is an error from this function. |
| (mount_info::conv_to_win32_path): Add extra argument. Don't call |
| normalize_posix_path if caller has already done so. Substitute chroot |
| setting, if any, for root translation. Add chroot checking to final |
| output step. |
| * shared_info (mount_info): Accommodate additional argument to |
| conv_to_win32_path. |
| * syscalls.cc (chroot): Store both normalized posix path and native |
| path in chroot. |
| |
| Fri Jun 1 10:57:19 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (chdir): Really make sure that isspace gets only an unsigned |
| char. |
| |
| Fri Jun 1 13:45:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (_rename): Handle the case that `foo' is renamed to |
| `bar' while `bar.lnk' is an existing shortcut-symlink. |
| |
| Thu May 31 15:57:57 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_disk_file::fstat): Avoid clearing S_IFMT bits |
| since we've already pre-cleared everything anyway. |
| |
| Wed May 30 23:51:32 2001 Earnie Boyd <earnie_boyd@yahoo.com> |
| |
| * path.cc (chdir): Always send unsigned chars to isspace since newlib's |
| isspace doesn't deal well with "negative" chars. |
| |
| Wed May 30 23:51:32 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_disk_file::open): Propagate remote status of |
| file garnered from path_conv. Move #! checking to fstat. |
| (fhandler_disk_file::fstat): Reorganize st_mode setting to eliminate |
| duplication. Move check for #! here from fhandler::open. |
| |
| * fhandler.h (fhandler_base::isremote): New method. |
| (fhandler_base::set_isremote): Ditto. |
| (fhandler_base::set_execable_p): Also record "don't care if executable |
| state". |
| (fhandler_base::dont_care_if_execable): New method. |
| * path.cc (path_conv::check): Clear new flags. Appropriately set |
| vol_flags, drive_type, and is_remote_drive. |
| * path.h: Add new flags and methods for manipulating them. |
| * syscalls.cc (_unlink): Use isremote() to determine if a path is |
| remote rather than calling GetDriveType. |
| (stat_worker): Ditto. |
| * security.cc (get_file_attribute): Or attribute with result of |
| NTReadEA to be consistent with get_nt_attribute. |
| |
| Tue May 29 19:02:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_helper.cc (cygsid::getfrompw): Change parameter to `const'. |
| (cygsid::getfromgr): Ditto. |
| * security.cc: Use `sys_mbstowcs' and `sys_wcstombs' throughout. |
| (extract_nt_dom_user): Try to get user and domain from SID in |
| pw->pw_gecos first. |
| * security.h (class cygsid): Change parameter of getfrompw() and |
| getfromgr() to `const'. |
| * uinfo.cc (internal_getlogin): Change order for evaluating user |
| information in winNT case. Drop usage of NetWkstaUserGetInfo(). |
| |
| Mon May 28 21:34:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks. |
| |
| Fri May 25 11:07:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (symlink_info::check): Correctly set 'ext_tacked_on'. Use |
| this to determine if user specified 'foo.lnk' explicitly. Reorganize |
| slightly to get rid of one goto. |
| |
| Fri May 25 10:15:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Add a check to return correctly |
| if incoming `*.lnk' file is not a symlink. |
| |
| Thu May 24 15:46:50 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (slash_drive_prefix_p): Remove. |
| (mount_info::slash_drive_to_win32_path): Ditto. |
| (mount_info::conv_to_win32_path): Remove slash drive prefix check. |
| (mount_info::add_item): Ditto. |
| (mount_info::del_item): Ditto. |
| * shared_info.h (mount_info): Remove slash_drive_to_win32_path |
| declaration. |
| |
| Thu May 24 01:17:33 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (handle_exceptions): Bump repeat count for debugging |
| kick out. |
| |
| * fhandler.h (fhandler_dev_dsp): Add a fixup_after_exec. |
| * fhandler_dsp.cc (class Audio): Add TOT_BLOCK_SIZE to enum. |
| (operator new): New. |
| (bigwavebuffer): Declare using TOT_BLOCK_SIZE to avoid buffer overruns. |
| (Audio::Audio): Optimize slightly. |
| (fhandler_dev_dsp::open): Allocate s_audio using static buffer. |
| (fhandler_dev_dsp::fixup_after_exec): New function. Ditto. |
| |
| Wed May 23 17:45:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (seteuid): Restrict overriding external provided |
| user tokens to ntsec. Don't test external tokens for primary |
| group to evaluate if it should be overridden. Restrict creating |
| internal tokens to ntsec. |
| |
| Wed May 23 10:11:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (chown_worker): Don't check for ENOSYS. |
| |
| Tue May 22 12:20:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * signal.cc (sleep): Protect with sigframe. |
| |
| Tue May 22 17:58:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (get_file_attribute): Don't set errno. |
| |
| Mon May 21 15:08:00 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * configure.in: Allow --enable-newvfork to turn NEWVFORK on and off. |
| * configure: Regenerate. |
| |
| Mon May 21 11:46:01 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/cygwin/version.h: Bump minor version number. |
| |
| Sun May 20 13:26:25 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_dsp.cc: Reformat to GNU standards. |
| (s_audio): Change to a pointer throughout. |
| (fhandler_dev_dsp::open): Initialize s_audio, if required. |
| |
| Sat May 19 23:40:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Add load statements for `LookupAccountNameW', |
| `LsaClose', `LsaEnumerateAccountRights', `LsaFreeMemory', |
| `LsaOpenPolicy', `LsaQueryInformationPolicy', `NetLocalGroupEnum', |
| `NetLocalGroupGetMembers', `NetServerEnum', `NetUserGetGroups' and |
| `NtCreateToken'. |
| * ntdll.h: Add declaration for `NtCreateToken'. |
| * sec_helper.cc: Add `well_known_local_sid', `well_known_dialup_sid', |
| `well_known_network_sid', `well_known_batch_sid', |
| `well_known_interactive_sid', `well_known_service_sid' and |
| `well_known_authenticated_users_sid'. |
| (cygsid::string): Define as const method. |
| (cygsid::get_sid): Set psid to NO_SID on error. |
| (cygsid::getfromstr): Ditto. |
| (cygsid::getfrompw): Simplify. |
| (cygsid::getfromgr): Check for gr == NULL. |
| (legal_sid_type): Move to security.h. |
| (set_process_privilege): Return -1 on error, otherwise 0 or 1 related |
| to previous privilege setting. |
| * security.cc (extract_nt_dom_user): Remove `static'. |
| (lsa2wchar): New function. |
| (open_local_policy): Ditto. |
| (close_local_policy): Ditto. |
| (get_lsa_srv_inf): Ditto. |
| (get_logon_server): Ditto. |
| (get_logon_server_and_user_domain): Ditto. |
| (get_user_groups): Ditto. |
| (is_group_member): Ditto. |
| (get_user_local_groups): Ditto. |
| (sid_in_token_groups): Ditto. |
| (get_user_primary_group): Ditto. |
| (get_group_sidlist): Ditto. |
| (get_system_priv_list): Ditto. |
| (get_priv_list): Ditto. |
| (get_dacl): Ditto. |
| (create_token): Ditto. |
| (subauth): Return immediately if SE_TCB_NAME can't be assigned. |
| Change all return statements in case of error to jumps to `out' |
| label. Add `out' label to support cleanup. |
| * security.h: Add extern declarations for `well_known_local_sid', |
| `well_known_dialup_sid', `well_known_network_sid', |
| `well_known_batch_sid', `well_known_interactive_sid', |
| `well_known_service_sid' and `well_known_authenticated_users_sid'. |
| Add extern declarations for functions `create_token', |
| `extract_nt_dom_user' and `get_logon_server_and_user_domain'. |
| (class cygsid): Add method `assign'. Change operator= to call new |
| `assign' method. Add `debug_print' method. |
| (class cygsidlist): New class. |
| (legal_sid_type): Moved from sec_helper.cc to here. |
| * spawn.cc (spawn_guts) Revert reversion of previous patch. |
| Call `RevertToSelf' and `ImpersonateLoggedOnUser' instead of `seteuid' |
| again. |
| * syscalls.cc (seteuid): Rearranged. Call `create_token' now when |
| needed. Call `subauth' if `create_token' fails. Try setting token |
| owner and primary group only if token was not explicitely created |
| by `create_token'. |
| * uinfo.cc (internal_getlogin): Try harder to generate correct user |
| information. Especially don't trust return value of `GetUserName'. |
| |
| Sat May 19 21:16:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (fork_parent): Move atforkprepare call here. |
| (fork): From here. |
| |
| Sat May 19 18:35:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Add missing load statement for `CancelIo'. |
| |
| Sat May 19 01:22:43 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * grp.cc (read_etc_group): Don't copy mutex on fork. |
| * pwd.cc (read_etc_passwd): Ditto. |
| * autoload.cc (LoadDLLfuncEx): Use LoadDLLprime to initialize DLL |
| specific area. |
| |
| Fri May 18 10:31:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (wsock_event::wait): Explicitely cancel IO when a signal |
| arrived to avoid data loss. Fallback to blocking IO when canceling |
| fails. |
| |
| Thu May 17 15:29:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (cygwin_set_impersonation_token): Never destroy |
| previous token object. |
| (subauth): Create token source with well defined identifier. |
| |
| Wed May 16 23:27:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uinfo.cc (uinfo_init): Just set user token to INVALID_HANDLE_VALUE. |
| Token value is already invalid at that point. |
| |
| Wed May 16 21:34:00 2001 Fred Yankowski <fred@ontosys.com> |
| |
| * net.cc (errmap): Add missing mapping from WSAEINTR to EINTR. |
| |
| Wed May 16 09:20:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_helper.cc (legal_sid_type): Fix conditional. Change to |
| inline function. |
| |
| Wed May 16 01:01:48 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * autoload.h: Eliminate. |
| * autoload.cc: Pull in autoload.h. Eliminate many macros. Rewrite to |
| avoid necessity of initialization routines. Just use a standard one. |
| (wsock_init): New function. Moved from net.cc. |
| * net.cc (wsock_init): Move to autoload.cc. |
| (wsadata): Make global. |
| * dtable.cc (dtable::build_fhandler): Use more reliable method for |
| checking if net stuff has been loaded. |
| |
| Tue May 15 19:52:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fork.cc (fork): Eliminate superfluous call to getuid(). |
| * security.h: New define `NO_SID'. Remove declarations of functions |
| moved to methods into class cygsid. |
| (class cygsid): Declare new methods `getfromstr', `get_sid', |
| `getfrompw', `getfromgr', `get_rid', `get_uid', `get_gid', `string' |
| and new constructors and operators =, == and !=. |
| Declare new global cygsids `well_known_XXX_sid' substituting the |
| corresponding `get_XXX_sid' functions. Remove declarations of |
| these functions. |
| * sec_helper.cc (well_known_admin_sid): New global variable. |
| (well_known_system_sid): Ditto |
| (well_known_creator_owner_sid): Ditto |
| (well_known_world_sid): Ditto |
| (cygsid::string): New method, substituting `convert_sid_to_string_sid'. |
| (cygsid::get_sid): New method, substituting `get_sid'. |
| (cygsid::getfromstr): New method, substituting |
| `convert_string_sid_to_sid'. |
| (cygsid::getfrompw): New method, substituting `get_pw_sid'. |
| (cygsid::getfromgr): New method, substituting `get_gr_sid'. |
| (cygsid::get_id): New method, substituting `get_id_from_sid'. |
| (get_admin_sid): Eliminated. |
| (get_system_sid): Ditto. |
| (get_creator_owner_sid): Ditto. |
| (get_world_sid): Ditto. |
| * grp.cc: Use new cygsid methods and well known sids throughout. |
| * registry.cc: Ditto. |
| * sec_acl.cc: Ditto. |
| * security.cc: Ditto. |
| * shared.cc: Ditto. |
| * syscalls.cc (seteuid): Ditto. Eliminate redundant conditional. |
| * uinfo.cc (internal_getlogin): Ditto. |
| * spawn.cc (spawn_guts) Revert previous patch. |
| |
| Tue May 15 10:20:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::ioctl): Convert s_addr |
| field to host byte order before comparing with INADDR_LOOPBACK. |
| |
| Tue May 15 9:03:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Add autoload statements for ws2_32 functions |
| `WSACloseEvent', `WSACreateEvent', `WSAGetOverlappedResult', |
| `WSARecv', `WSARecvFrom', `WSASend', `WSASendTo' and `WSASetEvent', |
| `WSAWaitForMultipleEvents'. |
| * net.cc: Define wsock_evt. |
| (wsock_event): New class. |
| (cygwin_sendto): Use overlapped socket io if available. |
| (cygwin_recvfrom): Ditto. |
| (cygwin_recv): Ditto. |
| (cygwin_send): Ditto. |
| * security.cc (subauth): Set Win32 error to 0 to safely ask for the |
| error code of dynamically loaded function `LsaRegisterLogonProcess'. |
| |
| Mon May 14 15:37:29 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * errno.cc (_sys_errlist): Add missing commas. |
| |
| Mon May 14 16:13:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (subauth): Check if Secur32.dll could be loaded. |
| |
| Sun May 13 22:49:04 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Revert allow_ntsec check so that volume |
| info is always retrieved and isdisk setting is properly set. |
| |
| Sun May 13 14:02:36 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_tty.cc (fhandler_tty_common::dup): Preserve O_NOCTTY when |
| duping a filehandle. |
| |
| Sat May 12 18:19:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (rmdir): Rearrange slightly to allow removing directories |
| even when R/O attribute is set. |
| |
| Fri May 11 16:53:38 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * external.cc (fillout_pinfo): Use correct pids. |
| * path.cc (mount_info::conv_to_win32_path): Correct test for whether to |
| include a slash. |
| |
| Fri May 11 01:04:17 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (handle_exceptions): Don't print message when executing |
| from a cygwin program. |
| |
| 2001-05-10 Egor Duda <deo@logos-m.ru> |
| Christopher Faylor <cgf@redhat.com> |
| |
| * environ.cc (winenv): Always add SYSTEMDRIVE and SYSYEMROOT to |
| win32-style environment if they don't already exist. |
| |
| 2001-05-10 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * path.cc (mount_info::conv_to_win32_path): Treat UNC paths the same as |
| paths including `:' or `\'. |
| |
| Wed May 9 14:46:32 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h (fhandler_termios::echo_erase): Declare new method. |
| * fhandler_termios.cc (fhandler_termios::echo_erase): New method for |
| echoing erase characters. |
| (fhandler_termios::line_edit): Check the echo flag before echoing |
| control characters (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>). |
| |
| Wed May 9 10:43:30 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/pthread.h: Remove C++ comment. |
| |
| Tue May 8 11:09:59 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (_cfree): Add regparm attribute. |
| (_crealloc): Ditto. |
| |
| * dcrt0.cc (dll_crt0_1): Default to always checking for executable for now. |
| |
| * dtable.cc (dtable::not_open): Move method. |
| * dtable.h (dtable): Here. |
| |
| * exceptions.cc (ctrl_c_handler): Don't expect process group leader to |
| handle a signal if it doesn't exist. |
| |
| * fhandler.h (fhandler_base): Make openflags protected. |
| |
| * localtime.c (tzsetwall): Check for __CYGWIN__ as well as __WIN32__. |
| |
| * path.cc (path_conv::check): Add some comments. Change strcat to assignment. |
| |
| * lib/_cygwin_S_IEXEC.cc (_cygwin_bob__): Eliminate. |
| |
| * fhandler_tty.cc (fhandler_console::dup): Set controlling terminal if necessary. |
| * fhandler_tty.cc (fhandler_tty_slave::dup): Ditto. |
| |
| Mon May 7 21:33:17 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/sys/file.h: Revert special X_OK usage. Just make it a |
| constant. |
| |
| Sun May 6 17:05:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.h (pthread_cond): New element cond_access to allow atomic |
| broadcasts. |
| * thread.cc (pthread_cond::pthread_cond): Initialise cond_access. |
| (pthread_cond::~pthread_cond): Destroy cond_access. |
| (pthread_cond::Broadcast): Use cond_access. |
| (pthread_cond::Signal): Use cond_access. |
| (pthread_cond_wait): Use cond_access. |
| (pthread_cond_timedwait): Use cond_access. |
| |
| Sun May 6 11:55:40 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * string.h (cygwin_strchr): Make 'static inline' so that things will |
| still work when optimized. |
| |
| Sat May 5 01:04:11 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (handle_exceptions): Vastly increase test for exception |
| loop guard variable. |
| |
| Fri May 4 22:23:33 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (stack_info): Add some controls. |
| (stack_info::init): Add extra arguments to control method of |
| initialization.. If we have a known good frame, set things up so that |
| this frame is not skipped the first time through. Record whether |
| caller cares about arguments or not. |
| (stack_info::walk): Don't store arguments if they're unwanted. |
| (stackdump): Add isexception parameter for use when called by exception |
| handler. |
| (cygwin_stackdump): Accommodate extra argument to stackdump. |
| (handle_exceptions): Ditto. |
| (sig_handle): Ditto. |
| (interrupt_on_return): Accommodate extra arguments to stack walk |
| initialization. |
| |
| Fri May 4 21:05:20 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * localtime.c: Revert exclusion of windows.h. |
| |
| Fri May 4 17:03:16 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * string.h: Fix last-minute typo. |
| |
| Fri May 4 16:49:34 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * pinfo.h: Correctly set __SIGOFFSET. |
| |
| * path.cc (hash_path_name): Avoid calling library functions for simple |
| copying of characters. |
| |
| * shortcut.c: Use WIN32_LEAN_AND_MEAN. |
| * smallprint.c: Ditto. |
| |
| * environ.cc (getwinenv): Minor clarity fix. |
| |
| * localtime.c: No need to include windows.h |
| |
| * string.h: New file. |
| |
| Fri May 4 16:37:30 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (ctrl_c_handler): Always send signal to process if it |
| has no tty. |
| |
| 2001-05-04 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler_socket.cc (set_connect_secret): Use /dev/urandom to |
| generate secret cookie. |
| |
| Thu May 3 16:37:55 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/pthread.h (pthread_cleanup_push): Eliminate space preceding |
| arguments. |
| (pthread_cleanup_pop): Ditto. |
| |
| Thu May 3 18:16:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (wsock_init): Rename `was_in_progress' to `wsock_started' |
| for clearness. |
| |
| Thu May 3 10:44:16 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (handle_exceptions): Break out of "loop" if the |
| debugger doesn't seem to be attaching to our process. |
| |
| Wed May 2 20:18:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Use new definition of LoadDLLinitfunc throughout. |
| Redefine wrapper for wsock32.dll and ws2_32.dll. |
| (std_dll_init): New function. |
| * autoload.h: Rename LoadDLLinitfunc to LoadDLLinitfuncdef. |
| Add new defines LoadDLLinitfunc and LoadDLLstdfunc. |
| * net.cc (wsock_init): Add guard variable handling. Take care |
| to call WSAStartup only once. Load WSAStartup without using |
| autoload wrapper to eliminate recursion. Eliminate FIONBIO |
| and srandom stuff. |
| |
| Tue May 1 01:26:15 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (mount_info::conv_to_win32_path): More path tweaking. |
| |
| Tue May 1 00:34:46 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (mount_info::conv_to_win32_path): Fix debugging output to |
| avoid a SIGSEGV. Avoid double backslashes in middle of filename. |
| |
| Mon Apr 30 21:51:14 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (mkrelpath): New function. |
| (mount_info::conv_to_win32_path): Eliminate now-unneeded relative path |
| name arg and processing. |
| (path_conv::check): Accommodate relative path names again. Accommodate |
| one extra argument in mount_info::conv_to_win32_path. Tack trailing |
| slash on end of relative path as a side effect, like before. |
| * shared_info.h (mount_info::conv_to_win32_path): Reflect new argument |
| ordering. |
| |
| Mon Apr 30 22:09:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Add LoadDLLinitfunc for secur32.dll. |
| Add LoadDLLfuncEx statements for AllocateLocallyUniqueId@4, |
| DuplicateTokenEx@24, LsaNtStatusToWinError@4, |
| LsaDeregisterLogonProcess@4, LsaFreeReturnBuffer@4, |
| LsaLogonUser@56, LsaLookupAuthenticationPackage@12, |
| LsaRegisterLogonProcess@12, |
| * environ.cc: Add extern declaration for `subauth_id'. |
| (subauth_id_init): New function for setting `subauth_id'. |
| (struct parse_thing): Add entry for `subauth_id'. |
| * fork.cc (fork_parent): Call `RevertToSelf' and |
| `ImpersonateLoggedOnUser' instead of `seteuid'. |
| * security.cc: Define global variable `subauth_id'. |
| (extract_nt_dom_user): New function. |
| (cygwin_logon_user): Call `extract_nt_dom_user' now. |
| (str2lsa): New static function. |
| (str2buf2lsa): Ditto. |
| (str2buf2uni): Ditto. |
| (subauth): Ditto. |
| * security.h: Add prototype for `subauth'. |
| * spawn.cc (spawn_guts): Use cygheap->user.token only if impersonated. |
| Use `cygsid' type. Remove impersonation before allowing access to |
| workstation/desktop to everyone. Call `RevertToSelf' and |
| `ImpersonateLoggedOnUser' instead of `seteuid'. |
| * syscalls.cc (seteuid): Rearranged to allow using subauthentication |
| to retrieve user tokens when needed. |
| |
| Mon Apr 30 20:26:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uinfo.cc (internal_getlogin): Formatting change. |
| |
| Mon Apr 30 19:58:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc: Eliminate MAX_DOMAIN_NAME define. |
| (read_etc_group): Substitute MAX_DOMAIN_NAME by |
| INTERNET_MAX_HOST_NAME_LENGTH. |
| * passwd.cc (parse_pwd): Don't force pw_name to be lower case. |
| * sec_helper.cc: Substitute MAX_USER_NAME by UNLEN, |
| MAX_COMPUTERNAME_LENGTH by INTERNET_MAX_HOST_NAME_LENGTH throughout. |
| (lookup_name): Slight cleanup. |
| * security.cc (alloc_sd): Substitute MAX_USER_NAME by UNLEN. |
| * security.h: Define DEFAULT_UID as DOMAIN_USER_RID_ADMIN and |
| DEFAULT_GID as DOMAIN_ALIAS_RID_ADMINS. |
| * shared.cc (memory_init): Substitute MAX_USER_NAME by UNLEN. |
| * thread.h: Ditto. |
| * uinfo.cc (internal_getlogin): Substitute MAX_USER_NAME by UNLEN. |
| Substitute MAX_COMPUTERNAME_LENGTH and MAX_HOST_NAME by |
| INTERNET_MAX_HOST_NAME_LENGTH. |
| * winsup.h: Include lmcons.h. Eliminate MAX_USER_NAME and |
| MAX_HOST_NAME. Move DEFAULT_UID and DEFAULT_GID to security.h. |
| |
| Mon Apr 30 12:35:40 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Don't use path_flags when converting to |
| MS-DOS syntax unless parsing tail of path component. Stop parsing path |
| when we reach the 'root' of the path. Correctly copy tail to path |
| component. |
| |
| Sun Apr 29 22:28:06 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (INIT_EXCEPTION_HANDLER): Eliminate. |
| (init_exceptions): Just use init_exception_handler. |
| (open_stackdumpfile): New function. |
| (stack_info::first_time): Eliminate. |
| (stack_info::init): Set up fields to avoid "first_time" consideration. |
| (stack_info::walk): Remove "first_time" consideration. |
| (stackdump): Change arguments to accept initial frame pointer and open |
| stack file flag. |
| (stack): Eliminate. |
| (cygwin_stackdump): Use stackdump() rather than stack(). |
| (try_to_debug): Remove all synchronization logic. Just keep looping in |
| exception handler until debugger notices us. Return 1 if successfully |
| started debugger. |
| (handle_exceptions): Just return if we know that we're debugging. |
| Reorganize to avoid creating a stackdump file if we are starting a |
| debugger. Return from exception handler if debugger started |
| successfully. |
| (sig_handle): Create a stackdump only if debugger wasn't started. |
| * winsup.h (try_to_debug): Add an argument. |
| |
| Sun Apr 29 21:41:25 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (symlink_info::check): Remove extra arguments, move |
| functionality back to path_conv::check. Clear symlink bit from pflags |
| argument before detecting if this is a symlink. |
| (path_conv::check): Convert posix path here instead of |
| symlink_info::check. Only grab volflags when using ntsec. |
| (symlink_info::check_case): Just replace appropriate part of input |
| path. |
| |
| Sat Apr 28 19:36:13 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout, change 'tty_attached' to 'real_tty_attached', for clarity. |
| Throughout, change 'OutputStopped' to 'output_stopped', for |
| consistency. |
| * dtable.cc (stdio_init): Set controlling tty if not set by stdio |
| opens. |
| * exceptions.cc (ctrl_c_handler): Avoid special pgid checking if no tty |
| is associated with the process. |
| (Suggested by Tim Baker <dbaker@direct.ca>) |
| * external.cc (fillout_pinfo): Return actual tty number for ctty. |
| * fhandler_console.cc (get_tty_stuff): Set ctty when shared memory is |
| allocated. Accept flags input from open(). |
| (set_console_ctty): New function. |
| (fhandler_console::open): Pass flags to get_tty_stuff and rely on this |
| function to set the ctty, if appropriate. |
| * fhandler_termios.cc (fhandler_termios::set_ctty): Move to tty_min |
| class. |
| * fhandler_tty.cc (fhandler_tty_slave::open): Use tc field to access |
| set_ctty(). |
| * tty.h (TTY_CONSOLE): Move to include/sys/cygwin.h. |
| (tty_min): Add set_ctty class here. |
| * include/sys/cygwin.h (TTY_CONSOLE): New home here. |
| |
| * path.cc (symlink_info): Make contents an actual buffer. Pass more |
| flags to case_check. |
| (path_conv::check): Reorganize to do parsing based on posix path rather |
| than native path. |
| (symlink_info::check): Expect posix path as input. Translate to native |
| path here. Accept path_conv flags. Stop parsing if not a symlink |
| regardless of whether previous path was a symlink. |
| |
| 2001-04-27 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * thread.cc (thread_init_wrapper): Use _REENT_INIT to initialize the |
| reent structure of newlib. |
| |
| Fri Apr 27 14:02:24 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.h (sig_send): Add exception parameter to sig_send. |
| * sigproc.cc (sig_send): Ditto. Use it when setting frame info. |
| * exceptions.cc (handle_exceptions): Use exception flag when calling |
| sig_send. |
| |
| 2001-04-27 Egor Duda <deo@logos-m.ru> |
| |
| * tty.cc (tty::make_pipes): Set to_slave pipe mode to nonblocking. |
| * fhandler_tty.cc (fhandler_pty_master::accept_input): If pipe buffer |
| is full, give slave a chance to read data. |
| |
| 2001-04-26 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * security.cc (alloc_sd): Add unrelated ACCESS_ALLOWED_ACE behind |
| the `everyone' ACE. |
| |
| Wed Apr 25 15:07:37 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.h [sigthread]: Add exception field. |
| [sigframe::~sigframe]: Clear exception field. |
| [sigframe::set]: Set exception field from caller. |
| * sigproc.cc (sig_send): Set exception field when frame pointer is |
| passed in. |
| * exceptions.cc (interrupt_on_return): Always treat exception as |
| interruptible. |
| |
| 2001-04-25 Egor Duda <deo@logos-m.ru> |
| |
| * cygwin.din: Export asctime_r, ctime_r, gmtime_r, localtime_r |
| * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 39 |
| |
| Wed Apr 25 10:57:36 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/cygwin/version.h: Bump minor version number. |
| * childinfo.h: Bump child structure magic number. |
| |
| 2001-04-25 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * uinfo.cc (internal_getlogin): Return pointer to struct passwd. |
| (uinfo_init): Accommodate the above change. |
| * syscalls.cc (seteuid): Ditto. |
| |
| Tue Apr 25 11:08:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Add LoadDLLfunc statements for SetTokenInformation@16. |
| * cygheap.cc: Include security.h. |
| * grp.cc (internal_getgrent): New function. |
| (getgroups): Rearranged using `internal_getgrent' and the new |
| `cygsid' class. |
| * passwd.cc (internal_getpwent): New function. |
| * sec_acl.cc: Use new `cygsid' class throughout. |
| (acl_access): Use `internal_getgrent' instead of `getgrent'. |
| * sec_helper.cc: Use new `cygsid' class throughout. |
| (get_id_from_sid): Use `internal_getgrent' instead of `getgrent'. |
| Use `internal_getpwent' instead of `getpwent'. |
| * security.cc: Use new `cygsid' class throughout. |
| * security.h: Move `MAX_SID_LEN' from winsup.h to here. |
| Add extern declarations for `internal_getgrent' and `internal_getpwent'. |
| (class cygsid): New class. |
| * shared.cc (sec_user): Use new `cygsid' class. |
| * syscalls.cc (seteuid): Try to set owner to user and primary group to |
| current group in impersonation token before performing impersonation. |
| (setegid): Try to set primary group in process token to the new group |
| if ntsec is on. |
| * uinfo.cc (internal_getlogin): Use new `cygsid' class. |
| Try to set owner to user and primary group to current group in process |
| token if the process has been started from a non cygwin process. |
| (uinfo_init): Set primary group only if the process has been started |
| from a non cygwin process. |
| * winsup.h: Move define for `MAX_SID_LEN' to security.h. |
| |
| Mon Apr 16 23:20:00 2001 Andy Younger <andylyounger@hotmail.com> |
| |
| * fhandler_dsp.cc: Improved handling of 8 bit playback modes. |
| Put in mock support for SNDCTL_DSP_SETFRAGMENT. |
| |
| Tue Apr 24 23:51:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * passwd.cc (getpwnam_r): Add pw_passwd handling as well. |
| (getpwuid_r): Ditto. |
| |
| Tue Apr 24 23:43:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * passwd.cc (getpwnam_r): Use correct offsets into buffer. |
| Copy pw_gecos field as well. |
| (getpwuid_r): Ditto. |
| |
| 2001-04-24 Egor Duda <deo@logos-m.ru> |
| |
| * dlmalloc.c: New file. Port of Doug Lea's malloc |
| * dlmalloc.h: Ditto. |
| * Makefile.in: Add support for MALLOC_DEBUG |
| * config.h.in: Ditto. |
| * winsup.h: Ditto. |
| * configure.in: Add --enable-malloc-debugging option. |
| * configure: Regenerate. |
| * debug.h: Include declarations for debugging malloc. |
| * tty.cc (grantpt): Fix definition. |
| (unlockpt): Ditto. |
| |
| Mon Apr 23 22:00:29 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Remove trailing underscore from fhandler_base and friends, throughout. |
| * fhandler.h (fhandler_base::set_open_status): New method. Stores |
| original open status. |
| (fhandler_base::get_open_status): New method. Retrieves original open |
| status. |
| (fhandler_base::reset_to_open_binmode): New method. |
| * fhandler.cc (fhandler_base::open): Save open status. |
| (fhandler_base::init): Ditto. |
| * fhandler_clipboard.cc (fhandler_clipboard::open): Ditto. |
| * fhandler_console.cc (fhandler_console::open): Ditto. |
| * fhandler_dsp.cc (fhandler_dsp::open): Ditto. |
| * fhandler_dev_mem.cc (fhandler_dev_mem::open): Ditto. |
| * fhandler_dev_random.cc (fhandler_dev_random::open): Ditto. |
| * fhandler_serial.cc (fhandler_serial::open): Ditto. |
| * fhandler_tty_slave.cc (fhandler_tty_slave::open): Ditto. |
| * fhandler_tty_master.cc (fhandler_tty_master::open): Ditto. |
| * fhandler_dev_zero.cc (fhandler_dev_zero::open): Ditto. |
| * syscalls.cc (setmode): Rework so that 0 mode value causes reversion |
| to open state. |
| |
| * fhandler_tty_slave.cc (fhandler_tty_slave::read): Use correct |
| multiplier when converting from deciseconds to milliseconds. |
| |
| Mon Apr 23 13:28:35 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.h (fhandler_base::clear_r_binary): New method. |
| (fhandler_base::clear_w_binary): New method. |
| * syscalls.cc (setmode): Accept 0 as mode value. Resets text/binary |
| behavior for fd to default. |
| |
| Mon Apr 23 12:46:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * net.cc [errmap]: Add '0' condition. |
| (find_winsock_errno): Don't translate no error to EPERM. |
| |
| Sun Apr 22 20:48:24 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/cygwin/version.h: Bump Cygwin version and API version. |
| |
| Mon Apr 23 9:27:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (MTinterface::Init): Always initialise per process variables. |
| |
| Sun Apr 22 19:18:18 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * features.h: Reinstate as wrapper for sys/features.h. |
| |
| Mon Apr 23 0:10:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (alloc_sd): Reformat comment. |
| * shared.cc: Drop function declarations already in security.h. |
| |
| Sun Apr 22 12:17:57 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * shortcut.c (check_shortcut): Close input file handle before |
| returning. |
| * path.cc (check_sysfile): Ditto. |
| (symlink_info::check): Rely on opened file handle being closed by |
| symlink checking routines. Set ext_tacked_on when .lnk is detected. |
| |
| Sat Apr 21 19:26:05 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * thread.cc (MTinterface::Init): Remove accidentally checked in code. |
| |
| Sun Apr 22 00:22:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * passwd.cc (getpwuid): Check for thread cancellation. |
| (getpwuid_r): Ditto. |
| (getpwname): Ditto. |
| (getpwnam_r): Ditto. |
| * thread.h (pthread_mutex): New constructors for pshared operation. |
| (MTinterface): Associative array for pshared mutex's. |
| * thread.cc (MTinterface::Init): Initailize pshared mutex array. |
| (pthread_cond::BroadCast): Implementation notes. |
| (pthread_cond::TimedWait): Remove use of SignalObjectAndWait on non-NT systems. |
| (pthread_mutex::pthread_mutex(unsigned short)): New function. |
| (pthread_mutex::pthread_mutex (pthread_mutex_t *, pthread_mutexattr *)):New function. |
| (pthread_mutex::pthread_mutex(pthread_mutexattr *)): Fail on pshared mutex's. |
| (__pthread_mutex_getpshared): New function. |
| (__pthread_join): Check for thread cancellation. |
| (__pthread_cond_timedwait): Support pshared mutex's. |
| (__pthread_cond_wait): Ditto. |
| (__pthread_condattr_setpshared): Error on PROCESS_SHARED requests. |
| (__pthread_mutex_init): Support pshared mutex's. |
| (__pthread_mutex_getprioceiling): Ditto. |
| (__pthread_mutex_lock): Ditto. |
| (__pthread_mutex_trylock): Ditto. |
| (__pthread_mutex_unlock): Ditto. |
| (__pthread_mutex_destroy): Ditto. |
| (__pthread_mutex_setprioceiling): Ditto. |
| (__pthread_mutexattr_setpshared): Support PTHREAD_PROCESS_PSHARED requests. |
| |
| Fri Apr 20 19:38:29 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygwin.din: Add *scanf and *scan_r functions. |
| |
| Fri Apr 20 22:25:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (set_process_privileges): Swap out. |
| * sec_helper.cc (set_process_privilege): Rename from |
| `set_process_privileges'. Takes the privilege to enable or disable |
| as parameter now. |
| * security.h: Add prototype for `set_process_privileges'. |
| |
| 2001-04-19 Egor Duda <deo@logos-m.ru> |
| |
| * path.cc (path_conv::check): Always initialize member variables. |
| |
| Fri Apr 20 12:27:49 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/sys/file.h: More cleanup for X_OK. |
| |
| Fri Apr 20 11:48:45 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/sys/file.h: Move X_OK protection earlier. |
| |
| * dtable.cc (dtable::vfork_child_fixup): Avoid closing already closed |
| handles. |
| |
| Fri Apr 20 16:29:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (getgroups): Change so that SIDs get compared instead |
| of strings to SIDs. |
| |
| Fri Apr 20 14:50:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in: Add object files `sec_helper.cc' and `sec_acl.cc'. |
| * security.cc: Swap out several functions. |
| * sec_acl.cc: New file. Move Sun compatibel ACL functions from |
| `security.cc' to here. |
| * sec_helper.cc: New file. Move security helper functions from |
| `security.cc' to here. |
| * security.h: Changed to accommodate the above changes. |
| |
| Fri Apr 20 14:12:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc: Replace `group_in_memory_p' by `group_state'. |
| Eliminate group_sem throughout. |
| (enum grp_state): New enumeration type. |
| (read_etc_group): Make race safe. |
| * security.cc: Eliminate group_sem throughout. |
| |
| Thu Apr 19 9:40:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Drop usage of the same memory area if the same |
| region of the same file is mapped twice. |
| |
| Wed Apr 18 16:53:54 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout, change fdtab references to cygheap->fdtab. |
| * child_info.h (cygheap_exec_info): Eliminate special fdtab stuff. |
| * spawn.cc (spawn_guts): Ditto. |
| * cygheap.cc (cygheap_init): Initialize fdtab, if appropriate. |
| * cygheap.h (CYGHEAPSIZE): Include size of init_cygheap. |
| (_cmalloc_entry): Include fdtab here. |
| * dtable.h (dtable): Declare/define new methods. |
| * dtable.cc (dtable::vfork_child_fixup): New method. |
| (dtable::fixup_after_exec): Remove unneeded extra arguments. |
| * dcrt0.cc (dll_crt0_1): Ditto. |
| |
| * environ.cc (getwinenv): Use case sensitive comparison. |
| (winenv): Make a copy of environment cache to avoid realloc problems |
| when duplicate environment variables exist in the environment. (From |
| Egor Duda) |
| |
| * net.cc (cygwin_socket): Revert Apr 14 change. |
| |
| * include/sys/file.h: Protect against previous X_OK definition. |
| |
| Tue Apr 17 12:18:28 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * passwd.cc: Eliminate passwd_sem throughout. |
| * security.cc: Ditto. |
| |
| Tue Apr 17 12:18:28 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * cygwin.din: Export New functions. |
| * passwd.cc (read_etc_passwd): Make race safe. |
| (getpwuid_r): New function. |
| (getpwnam_r): New function. |
| |
| 2001-04-18 Egor Duda <deo@logos-m.ru> |
| |
| * grp.cc (getgroups): Avoid crash if passwd field if /etc/group is |
| empty. |
| |
| Tue Apr 17 19:05:44 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.h (path_conv::add_ext_from_sym): Declare. |
| * path.cc (path_conv::add_ext_from_sym): Convert to pure inline method. |
| |
| Tue Apr 17 18:50:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (windows_device_names): Add missing NULL element. |
| |
| Tue Apr 17 12:14:54 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (windows_device_names): Move dsp to proper location. |
| |
| Tue Apr 17 13:44:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Set case_clash even if pcheck_case |
| is set to PCHECK_ADJUST when a case clash is given for the last |
| component in path. |
| (symlink_info::case_check): Ditto. |
| * syscalls.cc (_rename): Avoid overwriting an already existing file |
| if a case clash is given even if pcheck_case is set to PCHECK_ADJUST. |
| |
| Tue Apr 17 2:07:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * config.h.in: Turn off VFORK again. |
| |
| Mon Apr 16 23:45:24 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.h (cwdstuff): Move class. |
| * cygheap.h (cwdstuff): To here. |
| (init_cygheap): Add cwd field. |
| * child_info.h (cygheap_exec_info): Eliminate cwd stuff. |
| (child_info_spawn): Ditto. |
| * dcrt0.cc (dll_crt0_1): Remove cygcwd.fixup_after_exec call. Convert |
| cygcwd reference to cygheap->cwd. |
| * path.cc: Ditto, throughout. |
| (cwdstuff::copy): Eliminate. |
| (cwdstuff::fixup_after_exec): Ditto. |
| * spawn.cc (spawn_guts): Eliminate call to cygcwd.copy. |
| |
| * fhandler.h (FH_OSS_DSP): Move into "fast" device category. |
| |
| Mon Apr 16 19:19:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc: Move fh_paging_file from some functions to be |
| a global static variable. |
| (class mmap_record): Add `devtype_' member to remember |
| the device type of the file. Add declaration for methods |
| `get_device', `alloc_fh' and `free_fh'. |
| (mmap_record::mmap_record): Initialize `devtype_' correctly. |
| (mmap_record::alloc_fh): New method. |
| (mmap_record::free_fh): Ditto. |
| (munmap): Use new mmap_record::alloc_fh and mmap_record::free_fh |
| methods to create a correct fhandler. |
| (msync): Ditto. |
| (fixup_mmaps_after_fork): Ditto. |
| |
| Mon Apr 16 16:01:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (getgroups): If `allow_ntsec' is set, use the process token |
| information to evaluate the groups list. |
| |
| Mon Apr 16 00:08:02 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * features.h: Remove this file as it is now being supplied by newlib. |
| |
| Sun Apr 15 23:23:29 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * autoload.cc: Add winmm functions needed by fhandler_dsp.cc. |
| |
| Sun Apr 15 22:53:52 2001 Andy Younger <andylyounger@hotmail.com> |
| |
| * fhandler_dsp.cc: New file. Implements OSS like /dev/dsp. |
| * include/sys/soundcard.h: New file. User land includes for OSS |
| /dev/dsp. |
| * fhandler.h: Add new class fhandler_dev_dsp and a FH_OSS_DSP |
| definition. |
| * dtable.cc (dtable::build_fhandler): Allow creation of the /dev/dsp |
| device. |
| * path.cc (windows_device_names): Add /dev/dsp into list of device |
| names. |
| * Makefile.in (DLL_OFILES): Add fhandler_dsp.o. |
| |
| Sun Apr 15 16:36:27 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * uname.c (uname): Default n in in86 to 6 if Windows returns > 6. |
| |
| Sun Apr 15 15:56:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (add_ext_from_sym): Redefine to call `add_ext_from_sym_'. |
| (add_ext_from_sym_): New inline function. |
| |
| Sat Apr 14 19:23:52 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * config.h.in: Turn on VFORK by default. |
| |
| Sat Apr 14 18:04:35 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * net.cc (cygwin_socket): Set SO_LINGER to small value so closed UNIX |
| domain sockets will not stay around. |
| |
| Sat Apr 14 18:01:43 2001 Pierre A. Humblet <Pierre.Humblet@ieee.org> |
| |
| * select.cc (socket_cleanup): Set SO_LINGER to small value so closed |
| dummy sockets do not stay around. Use correct value for second argument |
| to shutdown. |
| |
| Sat Apr 14 17:04:00 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.h (MTinterface): Add threadcount. |
| * thread.cc (MTinterface::Init): Set threadcount to 1. |
| (__pthread_create): Increment threadcount. |
| (__pthread_exit): Decrement threadcount and call exit() from the last thread. |
| |
| Fri Apr 13 11:34:24 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * fork.cc (fork_child): Call the __pthread_atforkchild function. |
| (fork_parent): Call the __pthread_atforkparent function. |
| * cygwin.din: Export pthread_atfork. |
| * thread.h (callback): New class. |
| (MTinterface): Use it. |
| * thread.cc (__pthread_atforkprepare): New function. |
| (__pthread_atforkparent): New function. |
| (__pthread_atforkchild): New function. |
| (__pthread_atfork): New function. |
| * pthread.cc (pthread_atfork): New function. |
| |
| Fri Apr 13 9:52:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (add_ext_from_sym): New define evaluating `known'suffix'. |
| (path_conv::check): Use add_ext_from_sym throughout. |
| |
| Thu Apr 12 23:19:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (mkdir): Check for case clash. |
| * environ.cc: Add extern declaration for `pcheck_case'. |
| (check_case_init): New function. |
| (struct parse_thing): Add "check_case" option. |
| * errno.cc (_sys_nerrlist): Add text for ECASECLASH. |
| (strerror): Add case branch for ECASECLASH. |
| * fhandler.cc (fhandler_disk_file::open): Check for case clash. |
| * path.cc: Add global variable `pcheck_case'. |
| (struct symlink_info): Add member `case_clash' and method `case_check'. |
| (path_prefix_p_): Call `pathnmatch' instead of `strncasematch'. |
| (pathnmatch): New funtion. |
| (pathmatch): Ditto. |
| (path_conv::check): Add handling for case checking. |
| (symlink): Check for case clash. |
| (symlink_info::check): Add parameter for case checking. |
| Handle case checking. |
| (symlink_info::case_check): New method. |
| (chdir): Don't use unconverted path if pcheck_case==PCHECK_STRICT. |
| * path.h: Add extern declarations for `pathmatch' and |
| `pathnmatch'. |
| (enum case_checking): New enumeration type describing |
| the case checking behaviour of path conversion routines. |
| (class path_conv): Add member `case_clash'. |
| * syscalls.cc (_link): Check for case clash. |
| |
| Thu Apr 12 12:49:53 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (mkfifo): New function stub. |
| |
| 2001-04-12 Robert Collins <rbtcollins@hotmail.com> |
| |
| * configure.in: Remove PTH_ALLOW. |
| * cygwin.din: Remove @PTH_ALLOW@ prefixes to pthread functions. Add |
| new pthread exports. |
| * pthread.cc: New wrapper functions for the above new exports. |
| * sched.cc (valid_sched_parameters): New function. |
| (sched_setparam): Use it. |
| (sched_set_thread_priority): New function. Used by pthread_sched*. |
| * thread.cc (pthread_key_destructor::InsertAfter): New function. |
| (pthread_key_destructor::UnlinkNext): New function. |
| (pthread_key_destructor::Next): New function. |
| (pthread_key_destructor_list::Insert): New function. |
| (pthread_key_destructor_list::Remove): New function. |
| (pthread_key_destructor_list::Pop): New function. |
| (pthread_key_destructor::pthread_key_destructor): New function. |
| (pthread_key_destructor_list::IterateNull): New function. |
| (MTinterface::Init): Initialise new member. |
| (pthread::pthread): Initialise new members. |
| (pthread::create): Copy new attributes. Set the new thread priority. |
| (pthread_attr::pthread_attr): Initialise new members. |
| (pthread_key::pthread_key): Setup destructor function. |
| (pthread_key::~pthread_key): Remove destructor function. |
| (pthread_mutexattr::pthread_mutexattr): New function. |
| (pthread_mutexattr::~pthread_mutexattr): New function. |
| (__pthread_once): New function. |
| (__pthread_cleanup): New function. |
| (__pthread_cancel): New function. |
| (__pthread_setcancelstate): New function. |
| (__pthread_setcanceltype): New function. |
| (__pthread_testcancel): New function. |
| (__pthread_attr_getinheritsched): New function. |
| (__pthread_attr_getschedparam): New function. |
| (__pthread_attr_getschedpolicy): New function. |
| (__pthread_attr_getscope): New function. |
| (__pthread_attr_setinheritsched): New function. |
| (__pthread_attr_setschedparam): New function. |
| (__pthread_attr_setschedpolicy): New function. |
| (__pthread_attr_setscope): New function. |
| (__pthread_exit): Call any key destructors on thread exit. |
| (__pthread_join): Use the embedded attr values. |
| (__pthread_detach): Use the embedded attr values. |
| (__pthread_getconcurrency): New function. |
| (__pthread_getschedparam): New function. |
| (__pthread_key_create): Pass the destructor on object creation. |
| (__pthread_key_delete): Correct incorrect prototype. |
| (__pthread_setconcurrency): New function. |
| (__pthread_setschedparam): New function. |
| (__pthread_cond_timedwait): Support static mutex initialisers. |
| (__pthread_cond_wait): Ditto. |
| (__pthread_mutex_getprioceiling): New function. |
| (__pthread_mutex_lock): Support static mutex initialisers. |
| (__pthread_mutex_trylock): Ditto. |
| (__pthread_mutex_unlock): Ditto. |
| (__pthread_mutex_destroy): Ditto. |
| (__pthread_mutex_setprioceiling): New function. |
| (__pthread_mutexattr_getprotocol): New function. |
| (__pthread_mutexattr_getpshared): New function. |
| (__pthread_mutexattr_gettype): New function. |
| (__pthread_mutexattr_init): New function. |
| (__pthread_mutexattr_destroy): New function. |
| (__pthread_mutexattr_setprotocol): New function. |
| (__pthread_mutexattr_setprioceiling): New function. |
| (__pthread_mutexattr_getprioceiling): New function. |
| (__pthread_mutexattr_setpshared): New function. |
| (__pthread_mutexattr_settype): New function. Remove stubs for non |
| MT_SAFE compilation. |
| * thread.h: Remove duplicate #defines. Add prototypes for new |
| functions in thread.cc. |
| (pthread_key_destructor): New class. |
| (pthread_key_destructor_list): New class. |
| (pthread_attr): Add new members. |
| (pthread): Remove members that are duplicated in the pthread_attr |
| class. |
| (pthread_mutex_attr): Add new members. |
| (pthread_once): New class. |
| * include/pthread.h: Add prototypes for new functions exported from |
| cygwin1.dll. Remove typedefs. |
| * include/sched.h: Add prototypes for new functions in sched.cc. |
| * include/cygwin/types.h: Add typedefs from pthread.h |
| |
| Tue Apr 10 22:02:53 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (struct symlink_info): Add extn and ext_tacked_on fields. |
| (path_conv::check): Only tack on extension if a known one didn't |
| already exist. |
| (suffix_scan::has): Return pointer to known extension. |
| (symlink_info::check): Record location of extension, if any. |
| |
| 2001-04-09 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.h (class fhandler_socket): Add members and methods to |
| support secure connections on AF_UNIX sockets. |
| * fhandler_socket.cc (fhandler_socket::set_connect_secret): New method. |
| (fhandler_socket::get_connect_secret): Ditto. |
| (fhandler_socket::create_secret_event): Ditto. |
| (fhandler_socket::close_secret_event): Ditto. |
| (fhandler_socket::check_peer_secret_event): Ditto. |
| (fhandler_socket::fixup_after_fork): Duplicate secret event to child. |
| (fhandler_socket::dup): Copy address family. |
| (fhandler_socket::close): Close secret event. |
| * net.cc (get_inet_addr): Read secret cookie. |
| (cygwin_connect): Check if peer knows secret cookie value. |
| (cygwin_accept): Ditto. Copy address family to newly created socket. |
| (cygwin_bind): Generate and write secret cookie. |
| (wsock_init): Initialize random number generator. |
| |
| Sun Apr 8 20:40:58 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * Makefile.in: Put -lgcc last in list of libraries, since stdc++ |
| library needs it. |
| * cygwin.din: Remove obsolete "__empty" export. |
| * exceptions.cc (call_signal_handler_now): Force inclusion of function |
| even when -finline-functions is specified. |
| * sigproc.h: Remove obsolete call_signal_handler declaration. |
| |
| Sun Apr 8 20:36:55 2001 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de> |
| |
| * fhandler_console.cc (cp_get_internal): New function. |
| (cp_convert): New function. |
| (con_to_str): New function. |
| (str_to_con): New function. |
| (fhandler_console::read): Replace OemToCharBuff with con_to_str. |
| (fhandler_console::write_normal): Replace CharToOemBuff with str_to_con. |
| |
| Thu Apr 5 22:41:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (stat_worker): Fix conditional which still allowed |
| successful stat'ing of non-existant files. |
| |
| Wed Apr 4 10:37:44 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * child_info.h: Bump magic number for fork/exec/spawn. |
| |
| Tue Apr 3 20:06:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Map ERROR_FILE_INVALID to ENXIO. |
| |
| Mon Apr 2 22:48:58 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygrun.c (main): Fix compiler warning. |
| * gmon.c (_mcleanup): Ditto. |
| * profil.c (profile_off): Ditto. |
| |
| * net.cc (find_winsock_errno): New function. |
| (__set_winsock_errno): Use find_winsock_errno. |
| (cygwin_setsockopt): Detect SO_ERROR for debugging. |
| (cygwin_getsockopt): Ditto. Translate error when getsockopt returns |
| SO_ERROR. |
| * winsup.h: regparmize __set_winsock_errno. |
| * include/sys/strace.h: Document that strace functions can't use |
| regparm. |
| |
| 2001-04-02 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * fhandler.cc (fhandler_disk_file::open): Avoid checking a magic |
| number of a directory. |
| |
| Mon Apr 2 00:24:08 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * shared_info.h (mount_info): Remove mnt_ elements. |
| * thread.h (struct _winsup_t): Add mnt_ elements. |
| * path.cc (fillout_mntent): Use mnt_ elements from reent_winsup (). |
| |
| Sun Apr 1 20:10:34 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (sigframe::call_signal_handler): Return value of |
| call_signal_handler_now. |
| * sigproc.h (sigframe): Use constructor. |
| * syscalls.cc (_read): Correct errno test prior to calling signal |
| handler. |
| |
| Sun Apr 1 00:38:06 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (sigframe::call_signal_handler): Move outside of "C" |
| block or some compilers will complain. |
| |
| Sun Apr 1 00:24:14 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (call_signal_handler_now): Rename from |
| call_signal_handler to avoid C++ confusion. |
| |
| Sun Apr 1 00:08:15 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (fillout_mntent): Always remove drive root directories from |
| future consideration by "/cygdrive" reporting. |
| (cygdrive_getmnt): Avoid reporting removable drives or drives with no |
| media mounted. |
| |
| Sat Mar 31 21:56:19 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * thread.h (struct _winsup_t): Remove obsolete elements. Add |
| available_drives element. |
| * path.cc (mount_info::getmntent): Report "/cygdrive" drives when |
| mounted drives are exhausted. |
| (fillout_mntent): New function. |
| (mount_item::getmntent): Use fillout_mntent. |
| (cygdrives_mntent): New function. Returns next available "/cygdrive". |
| (setmntent): Initialize available "/cygdrives". |
| * syscalls.cc: Remove some if 0'ed code. |
| * times.cc (timezone): Use more descriptive variable name. |
| |
| Sat Mar 31 18:59:52 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.h (class sigframe): Implement 'unregister()' method. |
| (sigframe::~sigframe): Use unregister method. |
| (sigframe::call_signal_handler): Declare new method. |
| * exceptions.cc (sigframe::call_signal_handler): New method. |
| Unregisters current sigframe before calling signal handler. |
| (setup_handler): Clear waiting threads prior to arming signal_arrived. |
| * syscalls.cc (_read): Change goto to loop. Recalculate sigframe |
| inside of loop so that constructor is called when appropriate. |
| * wait.cc (wait4): Ditto. |
| |
| * signal.cc: Change "sig" to "signal" in debugging messages throughout. |
| * sigproc.cc: Ditto. |
| |
| Sat Mar 31 17:12:08 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_serial.cc (fhandler_serial::raw_write): Close protected |
| handles with ForceCloseHandle or suffer spurious warnings. |
| |
| Sat Mar 31 16:23:32 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler.cc (fhandler_base::read): Remove special handling of CTRL-Z. |
| |
| Sat Mar 31 11:09:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_console): Add members `insert_mode'. |
| * fhandler_console.cc (fhandler_console::dup): Duplicate `insert_mode'. |
| (fhandler_console::fhandler_console): Initialize `insert_mode'. |
| (fhandler_console::char_command): Add terminal capabilities |
| "enter insert mode" = \E[4h and "exit insert mode" = \E[4l. |
| Care for insert mode on terminal capability "repeat char" = \E[x;yb. |
| (fhandler_console::write_normal): Care for insert mode before writing |
| to the console. |
| (array keytable): Add keymapping for modified cursor and control |
| block keys (xterm like). |
| |
| Fri Mar 30 13:02:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_console): Add members `savebufsiz' and |
| `savebuf' to allow save/restore of screen. |
| * fhandler_console.cc (fhandler_console::dup): Duplicate `savebufsiz' |
| and `savebuf'. |
| (fhandler_console::fhandler_console): Initialize `savebufsiz' and |
| `savebuf'. |
| (fhandler_console::char_command): Add terminal capabilities |
| "save screen content" = \E[?47h and "restore screen content" = \E[?47l. |
| |
| Wed Mar 28 19:28:50 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (chdir): Eat trailing whitespace on input path. |
| |
| Tue Mar 27 22:38:42 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * lib/_cygwin_S_IEXEC.c: Remove "const" from globals or they never seem |
| to be defined. Wrap definitions in extern "C". Include winsup.h to |
| assure proper definitions. |
| |
| * dcrt0.cc (dll_crt0_1): Call stdio_init after premain run so that |
| binmode.o, etc., will control default stdio settings. |
| * dtable.cc (dtable::init_std_file_from_handle): Allow __fmode to force |
| binmode/textmode settings. Default pipes to binmode. |
| |
| Tue Mar 27 11:31:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Fix conditional for previous patch. |
| |
| Mon Mar 26 18:48:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Outflank copy-on-write problem on 9x by |
| setting access mode to FILE_MAP_READ when read access is requested. |
| |
| Sun Mar 25 20:12:21 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dlfcn.cc (check_access): Eliminate. |
| (check_path_access): Use passed in path_conv buf. |
| (get_full_path_of_dll): Use passed in name buf to avoid a static. Rip |
| out most of the path checking since LoadLibrary will do all of this |
| automatically. |
| (dlopen): Set errno when appropriate (may not be compliant?). |
| * environ.cc (posify): Don't pass in "native" path if it seems to |
| actually be posix. |
| |
| Thursday Mar 22 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * fhandler.h (fhandler_dev_clipboard): Extend to support writing. |
| * fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard): |
| Initialize new fields. Open clipboard here. |
| (fhandler_dev_clipboard::dup): New method. |
| (fhandler_dev_clipboard::open): Accommodate new fields. Register |
| clipboard here, if appropriate. |
| (set_clipboard): New function. Moves buffer to clipboard. |
| (fhandler_dev_clipboard::write): Truly implement clipboard writing. |
| (fhandler_dev_clipboard::read): Reimplement to allow successive reads. |
| (fhandler_dev_clipboard::lseek): Truly implement seeks in clipboard. |
| (fhandler_dev_clipboard::close): Clear out new fields. Support |
| sequential reads and sequential writes. Support for binary data via a |
| native clipboard format. |
| |
| 2001-03-22 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler_console.cc (fhandler_console::set_default_attr): Update |
| console color attributes on tty reset. |
| |
| Wed Mar 21 22:12:36 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * autoload.cc (kernel32_init): New function for kernel32 autoload |
| initialization. |
| (SignalObjectAndWait): Add conditional load of this function when it is |
| available. |
| |
| 2001-03-21 Robert Collins <rbtcollins@hotmail.com> |
| |
| * sched.cc: New file. Implement sched*. |
| * include/sched.h: New file. User land includes for sched*. |
| * Makefile.in: Add sched.o |
| * cygwin.din: Add exports for sched*. |
| |
| Tue Mar 20 14:48:46 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dtable.cc: Guard against new winsock.h/winsock2.h warnings when |
| mixing winsock*.h and sys/types.h. |
| * fhandler_socket.cc: Ditto. |
| * net.cc: Ditto. |
| * select.cc: Ditto. |
| * exceptions.cc: Remove unneeded define. |
| |
| Mon Mar 19 17:43:29 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (interruptible): Update debugging output. |
| (setup_handler): Ensure that wait_sig loop wakes up when we punt on |
| sending a signal. |
| * poll.cc (poll): Add signal guard here. |
| |
| 2001-03-19 Egor Duda <deo@logos-m.ru> |
| |
| * tty.h (tty::create_inuse): Add new parameter to allow non- |
| inheritable 'inuse' events. |
| * tty.cc (tty::create_inuse): Use new parameter. |
| * fhandler_tty.cc (fhandler_tty_master::init): Ditto. |
| * fhandler_tty.cc (fhandler_pty_master::open): Ditto. |
| * fhandler_tty.cc (fhandler_tty_master::init): Create master_alive |
| event. |
| * tty.cc (tty_list::terminate): Close master_alive event. |
| * fhandler_tty.cc (fhandler_tty_common::close): Send EOF to slaves |
| when master side is closed. |
| |
| Mon Mar 19 14:32:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (map::get_list_by_fd): Avoid calling `get_namehash' when |
| file descriptor is -1. |
| |
| Sat Mar 17 18:30:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (check_posix_perm): New static function. |
| (fpathconf): Add _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY |
| support. |
| (pathconf): Ditto. |
| * include/cygwin/version.h: Bump API minor number to 37. |
| |
| 2001-03-18 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.h (fhandler_tty_slave): Declare new methods. |
| * select.cc (fhandler_tty_slave::select_read): New method. |
| * select.cc (fhandler_tty_slave::ready_for_read): Ditto. |
| * select.cc (verify_tty_slave): New function. |
| * fhandler_termios.cc (fhandler_termios::line_edit): Empty input |
| buffer on signal. |
| * fhandler_tty.cc (fhandler_tty_slave::read): Check for input data |
| after reading from pipe. Reset event if input pipe is empty. |
| * tty.h (class tty): Allow creating events with manual reset. |
| * tty.cc (tty::get_event): Use manual_reset flag. |
| * tty.cc (tty::common_init): Create input_available_event with |
| manual reset. |
| |
| Sat Mar 17 21:48:03 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * external.cc (fillout_pinfo): Match windows pid, as well as cygwin pid |
| when passed in pid. Don't prematurely break when searching for a pid. |
| |
| * thread.h (_winsup_t): Eliminate unneeded field. |
| |
| Sat Mar 17 20:46:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (get_95_ifconf): Use strcasematch instead of strcasecmp. |
| * syscalls.cc (_unlink): Ditto. |
| (_rename): Ditto. |
| |
| Sat Mar 17 12:43:15 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (suffix_scan::next): Avoid searching for foo.lnk twice when |
| input is "foo". |
| |
| Sat Mar 17 18:10:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_socket): Set protocol to 0 when address family is |
| AF_UNIX to avoid WSAEPROTONOSUPPORT error. |
| |
| Sat Mar 17 09:51:32 2001 Mathew Brozowski <brozow@tavve.com> |
| |
| * net.cc (cygwin_socket): Pass protocol parameter to socket call. |
| |
| Sat Mar 17 02:05:38 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dir.cc (readdir): Use strcasematch for consistency. |
| * path.cc (symlink_info): Eliminate known_suffix. |
| (path_conv::check): Always copy ext_here to end of buffer, if found. |
| (suffix_scan): Eliminate ext_here, add suffixes_start. |
| (suffix_scan::has): Eliminate an argument. Reorganize. Always return |
| pointer to end of input path. |
| (suffix_scan::next): Take a second pass through the suffix list looking |
| for .lnk. |
| (symlink_info::check): Eliminate known_suffix usage. |
| |
| Sat Mar 17 00:10:52 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (stat_dev): Give devices full read/write by default. |
| |
| Saturday Mar 17 3:45 2001 Robert Collins <rbtcollins@hotmail.com> |
| |
| * thread.cc (MTinterface::CreateCond): Check for null attr pointer. |
| |
| Fri Mar 16 21:13:23 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_termios.cc (fhandler_termios::line_edit): Don't accept input |
| when a signal is sent or we'll end up in an EOF/signal race. |
| |
| Fri Mar 16 20:25:40 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc: Translate scan states from defines to enums. |
| (suffix_scan): Rename state to nextstate for clarity. |
| (lnk_match): Change to allow multiple states to indicate that a .lnk |
| has been matched. |
| (suffix_scan::has): Eliminate a goto. Handle .lnk as a special case, |
| since a .lnk may also need to be tacked on the end of a .lnk. |
| (suffix_scan::next): Don't increment next state. Set it specifically. |
| Recognize new .lnk states. |
| |
| Saturday Mar 17 01:19 2001 Robert Collins rbtcollins@hotmail.com |
| |
| * cygwin.din: Export the new functions. |
| * pthread.cc (pthread_cond_*): Add wrapper functions that call |
| __pthread_cond* functions. |
| * thread.cc (__pthread_cond_*): Implement the pthread_cond* functions. |
| * thread.h: Add new class entries and prototypes for __pthread_cond* |
| functions. |
| * include/pthread.h: user land header prototypes for pthread_cond* |
| functions and related defines. |
| |
| Wed Mar 14 16:30:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * environ.cc (parse_options): Use strtok_r instead of strtok. |
| * security.cc (convert_string_sid_to_sid): Ditto. |
| (aclfromtext): Ditto. Fix buffer usage. |
| |
| Wed Mar 14 10:11:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (lnk_suffixes): Remove. |
| (class suffix_scan): Add `lnk_state' flag. |
| (suffix_scan::lnk_match): Return state of `lnk_state' now. |
| (suffix_scan::has): Changed behaviour if file has `.lnk' suffix. |
| (suffix_scan::next): Set `lnk_state' where appropriate. |
| (symlink_info::check): Fix a wrong `break'. |
| * syscalls.cc (chown_worker): Change debug statement to reflect |
| lchown fix. |
| (lchown): Call chown_worker with `PC_SYM_NOFOLLOW' instead of |
| `PC_SYM_IGNORE'. |
| |
| Tue Mar 13 13:52:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_disk_file::fstat): Add correct modes to |
| symlinks when stat'ing on FAT or FAT32 file systems. |
| |
| 2001-03-12 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.h (fhandler_termios::fixup_after_exec): New function. |
| * fhandler_termios.cc (fhandler_termios::fixup_after_fork): New |
| function. Fixup output handle. |
| * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output |
| handle is now fixed up in fhandler_termios::fixup_after_fork(). |
| |
| 2001-03-12 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.h (fhandler_termios::fhandler_termios): Enable fixup |
| after fork. |
| * fhandler_console.cc (fhandler_console::fhandler_console): Fixup |
| after fork is now enabled in the base class constructor. |
| |
| Mon Mar 12 11:19:41 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * mkvers.sh: Include config.h so that DEBUGGING is correctly defined. |
| |
| Mon Mar 12 09:47:55 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process |
| is not a cygwin process (suggested by Jason Gouger |
| <cygwin@jason-gouger.com>). |
| |
| Sun Mar 11 16:00:58 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * child_info.h: Bump magic number for fork/exec/spawn. |
| |
| Sat Mar 10 20:54:47 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * autoload.cc (noload): Use proper method for multiline strings or |
| newer gcc's complain. |
| * exceptions.cc (unused_sig_wrapper): Ditto. |
| * fhandler.h (fhandler_base): Make get_io_handle and friends return |
| self. |
| * fhandler_tty.cc (fhandler_pty_common::close_on_exec): Accommodate |
| DEBUGGING flag to avoid spurious warnings when inheritance is set. |
| |
| Sat Mar 10 16:52:12 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler |
| warning. |
| |
| * exceptions.cc (setup_handler): Clarify debugging message. |
| * sigproc.cc (proc_subproc): Remove PROC_CHILDSTOPPED test. It is |
| handled by normal PROC_CLEARWAIT case. |
| (wait_sig): Eliminate "dispatched" tracking. Remove __SIGCHILDSTOPPED |
| test. Decrement counter again before jumping out of |
| InterlockedDecrement loop so that subsequent InterlockedIncrement will |
| keep the counter at the correctly decremented value and also detect |
| when there are pending signals. |
| * sigproc.h: Remove __SIGCHILDSTOPPED element. |
| (procstuff): Remove PROC_CHILDSTOPPED element. |
| |
| Sat Mar 10 15:22:44 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_rename): Set errno to ENOENT when an old path doesn't |
| exist (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>). Also set EACCES |
| when directory is not writable. |
| |
| Wed Mar 7 15:49:47 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_read): Change definition to return ssize_t to be |
| consistent with read. |
| (_write): Change definition to return ssize_t to be consistent with |
| write. |
| |
| Wed Mar 7 01:08:21 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * sigproc.h (sigthread): Declare new methods. Create new winapi_lock |
| field. |
| (sigframe:;set): Call get_winapi_lock after frame is set so that signal |
| handler thread knows not to call SuspendThread. |
| (sigframe::~sigframe): Release winapi_lock. |
| * exceptions.cc (sigthread::get_winapi_lock): New method. |
| (sigthread::release_winapi_lock): New method. |
| (setup_handler): Use get_winapi_lock to ensure that signalled thread is |
| not blocked in a Windows API. |
| |
| * path.h (path_types): Avoid broken GCC warning. |
| |
| Tue Mar 6 14:02:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (suffix_scan::has): Change order of conditionals |
| to allow checking for .lnk suffixes even if in_suffixes is empty. |
| |
| Tue Mar 6 13:02:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.c (cygwin_premain0): Add missing parameter. |
| * binmode.c (cygwin_premain0): Ditto. |
| * textmode.c (cygwin_premain0): Ditto. |
| |
| Tue Mar 6 12:04:00 2001 Jason Tiller <jtiller@sjm.com> |
| |
| * auto_load.cc: Add "GetKeyboardLayout" entry in the list of |
| Win32 User32.DLL exports to provide. |
| * fhandler.h (class fhandler_console): Add meta_mask private |
| member to remember which keystroke modifiers should generate |
| META. |
| * fhandler_console.cc (fhandler_console::read): Modify code that |
| tests a keystroke for a META-escaped key to use the 'meta_mask' |
| variable. |
| (fhandler_console::fhandler_console): Add definition for |
| variable "meta_mask" used to determine if a keystroke should be |
| preceded by META in the client console stream. Set meta_mask |
| based on whether or not user's keyboard language is English - |
| non-English keyboards pass AltGr (right <ALT>) unmolested, |
| whereas English keyboards now interpret left- and right-<ALT> |
| as META. |
| |
| Mon Mar 5 20:15:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/a.out.h: Add copyright hint. |
| * include/fcntl.h: Ditto. |
| * include/lastlog.h: Ditto. |
| * include/memory.h: Ditto. |
| * include/mntent.h: Ditto. |
| * include/paths.h: Ditto. |
| * include/poll.h: Ditto. |
| * include/syslog.h: Ditto. |
| * include/termio.h: Ditto. |
| * include/tzfile.h: Ditto. |
| * include/arpa/inet.h: Ditto. |
| * include/asm/byteorder.h: Ditto. |
| * include/asm/socket.h: Ditto. |
| * include/asm/types.h: Ditto. |
| * include/cygwin/if.h: Ditto. |
| * include/cygwin/mtio.h: Ditto. |
| * include/cygwin/rdevio.h: Ditto. |
| * include/cygwin/socket.h: Ditto. |
| * include/net/if.h: Ditto. |
| * include/netinet/in.h: Ditto. |
| * include/netinet/in_systm.h: Ditto. |
| * include/netinet/ip.h: Ditto. |
| * include/netinet/ip_icmp.h: Ditto. |
| * include/netinet/tcp.h: Ditto. |
| * include/sys/cdefs.h: Ditto. |
| * include/sys/cygwin.h: Ditto. |
| * include/sys/ioctl.h: Ditto. |
| * include/sys/mman.h: Ditto. |
| * include/sys/mount.h: Ditto. |
| * include/sys/mtio.h: Ditto. |
| * include/sys/procfs.h: Ditto. |
| * include/sys/resource.h: Ditto. |
| * include/sys/smallprint.h: Ditto. |
| * include/sys/socket.h: Ditto. |
| * include/sys/strace.h: Ditto. |
| * include/sys/syslog.h: Ditto. |
| * include/sys/sysmacros.h: Ditto. |
| * include/sys/termio.h: Ditto. |
| * include/sys/termios.h: Ditto. |
| * include/sys/uio.h: Ditto. |
| * include/sys/un.h: Ditto. |
| * include/sys/utsname.h: Ditto. |
| * include/sys/vfs.h: Ditto. |
| * include/sys/wait.h: Ditto. |
| * regexp/regerror.c: Ditto. |
| * regexp/regexp.h: Ditto. |
| * regexp/regmagic.h: Ditto. |
| |
| Mon Mar 5 01:25:03 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dlopen.c (dlopen): Return NULL when name is NULL (suggested by |
| chrisiasci@aol.com). |
| |
| * cygwin.din: Add a new, internally used export - |
| _check_for_executable. |
| * dcrt0.cc (dll_crt0_1): Set _check_for_executable for older binaries. |
| Pass user_data to premain functions. |
| * fhandler.cc (fhandler_disk_file::open): Only check for executable if |
| the linked program is interested in the executable bit. |
| (fhandler_disk_file::check_execable_p): Delete. |
| * fhandler.h (executable_states): New enumeration of various states of |
| executable bit caring. |
| (fhandler_base::set_execable_p): New method. |
| |
| * fhandler_termios.cc (fhandler_termios::line_edit): Flag when a signal |
| has been sent to the tty. Return -1 when this is so. |
| * fhandler_console.cc (fhandler_console::read): Return -1 when signal |
| sending character encountered. |
| |
| * path.cc (path_conv::check): Record when path refers to a disk device. |
| Move executable extension check here. |
| (check_sysfile): Accommodate new EXEC path states. |
| (has_suffix): Remove. |
| (next_suffix): Remove. |
| (class suffix_scan): New clas. |
| (suffix_scan::has): New method. |
| (suffix_scan:next): New method. |
| (symlink_info::check): Use suffix_scan method to control for scanning |
| for suffixes. |
| * path.h (path_conv::exec_state): New method. |
| * perprocess.h: Make "C" friendly. |
| * include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_S_IEXEC. |
| Bump CYGWIN_VERSION_API_MINOR. |
| * include/sys/cygwin.h: Change premain declarations. |
| |
| * winsup.h: Move __cplusplus test to after builtin defines. |
| |
| 2001-03-04 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.h (class fhandler_tty_common): New mutex and event to |
| syncronize input on master tty with slave tty. |
| * fhandler_tty.cc (fhandler_pty_master::accept_input): Use them to |
| syncronize with slave. |
| * fhandler_tty.cc (fhandler_tty_slave::read): Use input mutex and |
| event to syncronize with master. Do not limit amount of data read |
| from master to vmin value. Interrupt on signal and return already |
| read data, if any. |
| * fhandler_tty.cc (fhandler_tty_slave::open): Handle input mutex and |
| event. |
| * fhandler_tty.cc (fhandler_tty_common::close): Ditto. |
| * fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto. |
| * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Ditto. |
| * fhandler_tty.cc (fhandler_tty_common::dup): Ditto. |
| * tty.h (tty::open_input_mutex): New function. |
| * tty.cc (tty::common_init): Create input mutex and event. |
| |
| Fri Mar 2 13:32:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (readdir): Fix creating path in symlink check. |
| |
| Fri Mar 2 12:33:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dir.cc (readdir): Fix shortcut==symlink condition. |
| * environ.cc: Add extern decl for `allow_winsymlinks'. |
| (struct parse_thing): Add entry for `[no]winsymlinks'. |
| * path.cc (symlink): Change to be able to create both, |
| symlink==shortcut and symlink==systemfile, dependent of |
| the setting of `allow_winsymlinks'. |
| * security.cc (cygwin_logon_user): Add debug output. |
| * shortcut.c: Add defines from path.h. |
| (has_exec_chars): Copy from path.h. |
| (check_shortcut): Check for executable file condition if not a |
| shortcut. |
| |
| Thu Mar 1 21:06:07 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (sig_handle_tty_stop): Ignore attempts to suspend a |
| process if started by non-cygwin parent. |
| |
| Thu Mar 1 20:48:11 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * select.cc (peek_console): Don't report read_ready on mouse events |
| unless we are looking for mouse events. |
| * fhandler.h (fhandler_console::mouse_aware): New method. |
| |
| Wed Feb 28 15:10:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uinfo.cc: Eliminate `#include <wchar.h>'. |
| |
| 2001-02-28 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Determine |
| drive geometry or partition size to allow seeking from the end of |
| raw floppy device. Don't allow positioning past the end of media or |
| to offsets bigger then max off_t. |
| |
| 2001-02-27 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler.h (class fhandler_console): Make all variables that |
| describe "state" of console to be members of fhandler_console. |
| default_color is now the color which is set when console recieves |
| reset command. |
| * fhandler_console.cc (fhandler_console::fhandler_console): Turn |
| mouse handling and raw keyboard mode off by default. Initialize |
| state information. |
| * fhandler.cc (fhandler_console::set_raw_win32_keyboard_mode): New |
| function. |
| * fhandler_console.cc (fhandler_console::set_default_attr): New |
| function. Reset console attributes to default values. |
| * fhandler_console.cc (fhandler_console::open): Reset attributes. |
| * fhandler_console.cc (fhandler_console::get_win32_attr): New function. |
| Calculate win32-style console attribute based on terminal attributes. |
| * fhandler_console.cc (fhandler_console::set_cursor_maybe): Use |
| member variable. |
| * fhandler_console.cc (fhandler_console::read): If in raw-win32 |
| keyboard mode, encode win32 keyboard events in \033{x;y;z;t;u;wK |
| sequences. |
| * fhandler_console.cc (fhandler_console::dup): Copy all state |
| information to the dup()ed handle. |
| * fhandler_console.cc (fhandler_console::scroll_screen): Use current |
| fill-in attribute. |
| * fhandler_console.cc (fhandler_console::clear_screen): Ditto. |
| * fhandler_console.cc (fhandler_console::char_command): Check if we |
| saw '?' symbol by member variable. Set terminal attributes on \033[Xm |
| commands. \033[24m - turn off underline mode, \033[27m - turn off |
| reverse mode, \033[39m - restore default foreground color. |
| \033[49m - restore default background color. \033[2000h - turn on raw |
| keyboard mode, \033[2000l - turn off raw keyboard mode. |
| * fhandler_console.cc (fhandler_console::write): Set attribues to |
| default values on reset command. |
| |
| 2001-02-26 Mike Simons <msimons@moria.simons-clan.com> |
| |
| * times.cc (settimeofday): Replace function stub with working code. |
| |
| Mon Feb 26 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * strace.cc (strace::vprntf): Move prntf functionality to this function |
| adding an va_list interface to strace. |
| (strace::printf): Calls strace::vprntf now. |
| (strace_printf): New function providing an extern "C" interface to |
| trace output. |
| * include/sys/strace.h: Make plain C clean. |
| (class strace): Add `vprntf' method. |
| |
| Mon Feb 26 0:10:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shortcut.c: Remove #include <sys/strace.h>. |
| |
| Sun Feb 25 10:32:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment. |
| |
| Sun Feb 25 10:18:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shortcut.c (check_shortcut): Change symlink condition. |
| |
| Fri Feb 23 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly. |
| * fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto. |
| |
| Thu Feb 22 17:09:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink): Keep relative paths relative in the DOS |
| path inside of a shortcut. If that's impossible or the target |
| path is already absolute save an absolute path. |
| |
| Thu Feb 22 15:33:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygerrno.h: Revert previous patch. |
| * errno.cc: Ditto. |
| * dir.cc: Eliminate `dir_suffixes'. |
| (opendir): Remove usage of `dir_suffixes'. |
| (rmdir): Ditto. |
| * fhandler.cc (fhandler_disk_file::open): Remove usage of |
| `inner_suffixes'. |
| * path.cc: Rename `inner_suffixes' to `lnk_suffixes'. |
| (path_conv::check): Remove usage of `inner_suffixes'. |
| (symlink): Ditto. |
| (symlink_info::check): Handle checking for `.lnk' in path_conv |
| exclusively here. |
| (chdir): Remove usage of `dir_suffixes'. |
| * shortcut.c: Eliminate debug_printf lines. |
| (check_shortcut): Don't set error except on failing ReadFile. |
| * spawn.cc: Remove ".lnk" from `std_suffixes'. |
| * syscalls.cc (_unlink): Remove usage of `inner_suffixes'. |
| Remove ".lnk" from `stat_suffixes'. |
| (_rename): Add check for renaming a symlink to keep the ".lnk" |
| suffix after renaming. |
| |
| Thu Feb 22 13:38:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shortcut.c: New file. Provides a C interface to reading of |
| Windows shortcuts to avoid compiler flag `-fvtable-thunks'. |
| * shortcut.h: Ditto. |
| * Makefile.in: Add shortcut.o to DLL_OFILES. |
| * cygerrno.h: Provide a C interface to `geterrno_from_win_error' for |
| using in shortcut.c. |
| * errno.cc (geterrno_from_win_error): Define as extern "C". |
| * path.cc (struct symlink_info): Remove methods `check_shortcut' and |
| `check_sysfile'. |
| (shortcut_header): Move to shortcut.c. |
| (shortcut_initalized): Ditto. |
| (create_shortcut_header): Ditto. |
| (cmp_shortcut_header): Ditto. |
| (symlink_info::check_shortcut): Ditto. Reorganize as a plain C function. |
| (symlink_info::check_sysfile): Redefine as a global function using the |
| same parameter list as `check_shortcut' for clearness. |
| (symlink_info::check): Change parameter list for calls to |
| `check_shortcut' and `check_sysfile'. |
| |
| Thu Feb 22 12:04:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when |
| resolving real_path. |
| * path.cc (symlink): Ditto for win32_topath. |
| |
| Wed Feb 21 22:41:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll. |
| * autoload.cc: Add LoadDLLinitfunc for ole32.dll. |
| Add LoadDLLfuncEx statements for CoInitialize@4, CoUninitialize@0 |
| and CoCreateInstance@20. |
| * dir.cc (dir_suffixes): New datastructure. |
| (readdir): Check for R/O *.lnk files to hide the suffix. |
| (opendir): Use `dir_suffixes' in path conversion. |
| (rmdir): Ditto. |
| * fhandler.cc (fhandler_disk_file::fstat): Add S_IFLNK flag |
| before calling `get_file_attribute'. Take FILE_ATTRIBUTE_READONLY |
| into account only if the file is no symlink. |
| * path.cc (inner_suffixes): New datastructure. |
| (SYMLINKATTR): Eliminated. |
| (path_conv::check): Use `inner_suffixes' on inner path components. |
| (shortcut_header): New global static variable. |
| (shortcut_initalized): Ditto. |
| (create_shortcut_header): New function. |
| (cmp_shortcut_header): Ditto. |
| (symlink): Create symlinks by creating windows shortcuts. Preserve |
| the old code. |
| (symlink_info::check_shortcut): New method. |
| (symlink_info::check_sysfile): Ditto. |
| (symlink_info::check): Check for shortcuts. Move code reading |
| old system attribute symlinks into symlink_info::check_sysfile(). |
| (chdir): Use `dir_suffixes' in path conversion. |
| * security.cc (get_file_attribute): Check for S_IFLNK flag. |
| Force 0777 permissions then. |
| * spawn.cc (std_suffixes): Add ".lnk" suffix. |
| * syscalls.cc (_unlink): Use `inner_suffixes' in path conversion. |
| Check for shortcut symlinks to eliminate R/O attribute before |
| calling DeleteFile(). |
| (stat_suffixes): Add ".lnk" suffix. |
| (stat_worker): Force 0777 permissions if file is a symlink. |
| |
| 2001-02-21 Egor Duda <deo@logos-m.ru> |
| |
| * sigproc.cc (getsem): Make semaphore always non-inheritable. |
| |
| Mon Feb 19 22:25:53 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * dcrt0.cc (locale_init): Remove. |
| |
| 2001-02-15 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * cygwin.din: Export rand48 functions. |
| * thread.cc (MTinterface::Init): Remove the initialization of |
| `reent_data'. |
| * dcrt0.cc: Add the initalizer to the declaration of `reent_data'. |
| * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 35. |
| |
| 2001-02-16 Egor Duda <deo@logos-m.ru> |
| |
| * signal.cc (signal): Prohibit setting handlers for SIGKILL and |
| SIGSTOP |
| * signal.cc (sigaction): Ditto |
| * syscalls.cc (_lseek): Return EINVAL on invalid input |
| |
| Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com> |
| |
| * dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when |
| the library is not found |
| |
| 2001-02-14 Egor Duda <deo@logos-m.ru> |
| |
| * fhandler_console.cc (fhandler_console::char_command): Ignore unknown |
| rendition codes in \033[xx;yym control sequences |
| |
| Fri Feb 9 23:19:01 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fork.cc (fork_parent): Return EAGAIN when can't record pid. |
| * pinfo.h (pinfo::remember): Return value of call to proc_subproc. |
| * sigproc.cc (proc_subproc): Return error if can't record pid. |
| |
| Fri Feb 9 12:17:27 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (mknod): Add valid parameters. |
| |
| Thu Feb 8 22:09:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Check for reusing a mapping only on MAP_SHARED |
| and on MAP_PRIVATE|MAP_ANON in the special case of offset 0. |
| |
| Thu Feb 8 21:57:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (class list): Add member `hash'. |
| (list::list): Initialize `hash'. |
| (list::get_list_by_fd): Use filepath hash value to get the correct |
| mapping list if it's not an anonymous mapping. |
| (map::add_list): Initialize `hash' with filepath hash value. |
| (mmap): Check for reusing a mapping only on MAP_SHARED. |
| |
| Wed Feb 7 18:47:36 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * signal.cc (killpg): Correct first argument. |
| |
| Wed Feb 7 22:22:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Add LoadDLLinitfunc for iphlpapi.dll. |
| Add LoadDLLfuncEx statements for GetIfTable@12 and GetIpAddrTable@12. |
| * fhandler_socket.cc (fhandler_socket::ioctl): Move variable |
| definitions to the beginning of the function to allow better debugging. |
| Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU. |
| * net.cc: Include iphlpapi.h. |
| (get_2k_ifconf): Rewritten. Uses IP Helper API now. |
| (get_nt_ifconf): Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC |
| and SIOCGIFMTU. |
| (get_95_ifconf): Ditto. Renamed from `get_9x_ifconf'. |
| (get_ifconf): Name loopback `lo' instead of `lo0' as in Linux. |
| Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU. |
| Call `get_95_ifconf' only on Windows 95, `get_nt_ifconf' only |
| on Windows NT < Service Pack 3, `get_2k_ifconf otherwise. |
| * include/asm/socket.h: Add defines for SIOCGIFHWADDR, SIOCGIFMETRIC |
| and SIOCGIFMTU. |
| * include/cygwin/if.h: Add `ifr_hwaddr', `ifr_metric' and `ifr_mtu'. |
| (struct ifreq): Add `ifru_hwaddr'. |
| |
| Tue Feb 6 15:04:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (stat_worker): Add a check for the special case when |
| a process creates a file using mode 000 using ntsec. |
| |
| Mon Feb 5 17:00:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Always add GENERIC_READ access |
| when opening raw disk devices. |
| * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Implement bytewise |
| access. |
| * fhandler_raw.cc (fhandler_dev_raw::open): Always open raw disk device |
| binary. |
| (fhandler_dev_raw::raw_write): Don't drop read buffer content when |
| writing after read. |
| |
| Mon Feb 5 13:30:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap_record::fixup_map): New method to duplicate |
| the memory protection in a just forked child. |
| (mmap): Realign gran_len to page boundary only on anonymous |
| mapping before saving in the mmap_record. |
| (munmap): Cleanup code. |
| (msync): Ditto. |
| (fixup_mmaps_after_fork): Ditto. Call mmap_record::fixup_map now. |
| |
| Thu Feb 1 23:08:29 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (creturn): Correctly calculate cygheap_max. |
| |
| Wed Jan 31 10:04:58 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * shared.cc (shared_info::initialize): Reduce size of heap. |
| |
| Wed Jan 31 13:22:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/resource.h: Fix typo. |
| |
| Wed Jan 31 13:20:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/resource.h: Add RLIMIT_NLIMITS and RLIM_NLIMITS. |
| |
| Tue Jan 30 18:15:23 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/cygwin/version.h: Bump version to 1.3.0. |
| |
| Tue Jan 30 8:55:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * pinfo.cc (pinfo::init): Use INVALID_HANDLE_VALUE instead of |
| explicit cast (HANDLE) 0xffffffff. |
| * shared.cc (open_shared): Ditto. |
| |
| Mon Jan 29 17:15:22 2001 Bill Hegardt <bill@troyxcd.com> |
| |
| * fhandler_serial.cc (raw_write): Use local copy of OVERLAPPED |
| structure instead of shared structure to fix a race condition between |
| read/write. |
| |
| Mon Jan 29 14:30:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Remove obsolete check for MAP_SHARED|MAP_ANON as |
| being invalid. |
| |
| Mon Jan 29 10:23:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap_record::find_empty): Fix loop condition. |
| |
| Sun Jan 28 19:40:40 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_link): Make sure that newpath does not exist. Set |
| errno if it does. |
| |
| Sun Jan 28 19:29:08 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (init_cheap): Don't specify a load address for the heap. |
| It doesn't work on #!*& Windows 9x. |
| (cygheap_init): Move GetUserName to memory_init. |
| * dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call |
| to heap_init. |
| * heap.cc (heap_init): Improve error output. |
| * heap.h: Correct some declarations. |
| * shared.cc (mount_table_init): Remove. |
| (memory_init): Renamed from shared_init. Reorganize to accommodate |
| strange Windows 9x problems with cygheap/heap interaction. |
| * shared_info.h: Rename shared_init to memory_init. |
| |
| Sun Jan 28 01:25:33 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/cygwin/version.h: Bump API version. |
| |
| Sun Jan 28 01:18:22 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * cygheap.cc (init_cheap): Move username initialization. |
| (cygheap_init): Here. |
| * shared_info.h (mount_info): Add a sys_mount_table_counter field. |
| (shared_info): Ditto. |
| * path.cc (mount_info::conv_to_win32_path): Check that our mount table |
| is in sync with the system mount table and reinitialize it if not. |
| (mount_info::add_reg_mount): Bump sys_mount_table counters if the |
| system mount table changes. |
| (mount_info::del_reg_mount): Ditto. |
| (mount_info::write_cygdrive_info_to_registry): Ditto. |
| (mount_info::remove_cygdrive_info_from_registry): Ditto. |
| |
| Sun Jan 28 00:28:30 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| Throughout, change 'cygwin_shared.mount' to 'mount_table'. |
| * child_info.h (child_info): Move shared_h, console_h to cygheap. Add |
| mount_h. |
| * cygheap.h (init_cygheap): Add shared_h, console_h. |
| * cygheap.cc (init_cheap): Initialize heap at a fixed location after |
| the shared memory regions. Initialize cygheap->user name here. |
| * dcrt0.cc (dll_crt0_1): Call getpagesize () to initialize constants. |
| Remove cygheap_init since it is done in shared_init now. |
| (_dll_crt0): Initialize mount_h, remove shared_h and console_h |
| initialization. |
| * fhandler_console.cc (console_shared_h): Eliminate. |
| (get_tty_stuff): Use cygheap->console_h rather than console_shared_h. |
| * heap.cc (heap_init): Use page size constant calculated earlier in |
| initialization. |
| * shared.cc: Eliminate cygwin_shared_h. Add cygwin_mount_h. |
| (mount_table_init): New function for initializing a user mount table. |
| (open_shared_file_map): Use constant for shared memory region. |
| Initialize cygheap and mount table here. |
| (open_shared): Improve debugging output. |
| (shared_info::initialize): Eliminate call to mount.init. |
| (shared_terminate): Use cygheap->shared_h. Close cygwin_mount_h. |
| (open_shared_file_map): Eliminate. |
| * shared_info.h (mount_info): Add a version field. |
| (shared_align_past): New macro for calculating location for shared |
| memory regions. |
| * sigproc.cc (init_child_info): Eliminate shared_h, console_h. |
| * spawn.cc (spawn_guts): Pass on cygwin_mount_h iff not a different |
| user. |
| * syscalls.cc (system_info): New global holding system memory defaults. |
| (getpagesize): Use system_info. |
| * uinfo.cc (internal_getlogin): Only fill in user name if nonexistent. |
| * winsup.h: Declare system_info. |
| |
| * passwd.cc (read_etc_passwd): Use cygheap->user.name () rather than |
| retrieving the name again. |
| |
| Sat Jan 27 10:18:02 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.cc (path_conv::check): Detect when path has symlinks. |
| (symlink_info::check): Remove debugging stuff. |
| (chdir): Use posix'ized win32 path if cd'ed to a path using symlinks. |
| |
| Fri Jan 26 21:20:28 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * exceptions.cc (sigreturn): Call any pending signals prior to |
| resetting the signal mask so that stacked signals behave correctly. |
| (sigdelayed): Avoid a race where a signal could end up calling an |
| incorrect signal handler if two signals come in close together. |
| |
| Tue Jan 23 21:56:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (fhandler_disk_file::mmap): Call CreateFileMapping with |
| len != 0 only when performing an anonymous mapping. |
| |
| Mon Jan 22 15:35:28 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * path.h: Add a new constant. |
| * syscalls.cc (_read): Oscillate errno check. |
| |
| Mon Jan 22 15:27:12 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * include/cygwin/version.h: Bump API to reflect setlogmask. |
| |
| Sun Jan 21 22:40:25 2001 Jason Tishler <jt@dothill.com> |
| |
| * cygwin.din: Add export for setlogmask(). |
| * syslog.cc (setlogmask): New function. |
| |
| Thu Jan 18 10:27:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * resource.cc (setrlimit): Support RLIMIT_NOFILE. |
| |
| Wed Jan 17 23:23:12 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (setdtablesize): Call with amount to increment not total |
| amount. Return success or failure error code. |
| |
| Wed Jan 17 09:47:13 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * autoload.cc (LoadDLLinitfunc): Remove debugging statement. |
| |
| * exceptions.cc (sig_handle_tty_stop): Move setting of PID_STOPPED to |
| earlier in interrupt. |
| (interrupt_setup): i.e., here. |
| (sig_handle): Don't queue multiple SIGSTOPS. |
| * fhandler.h (bg_check_types): Enumerate return value of bg_check for |
| clarity. |
| * signal.cc (kill_pgrp): Minor cleanup. |
| * fhandler_termios.cc (fhandler_termios::bg_check): Use enumerated type |
| for function return. Don't raise signal if a signal is already queued. |
| * fhandler_console.cc (fhandler_console::read): Use enumerated return |
| type for bg_check. |
| * select.cc: Ditto, throughout. |
| * read.cc: Ditto, throughout. |
| * termios.cc: Ditto, throughout. |
| (_read): YA interrupt detect simplification. |
| * wait.cc (wait4): Ditto. |
| |
| Wed Jan 17 10:56:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.cc (cygheap_user::~cygheap_user): Temporarily |
| disable free'ing memory. |
| |
| Tue Jan 16 18:01:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Initialize fh to avoid compiler warnings. |
| |
| Mon Jan 15 21:07:00 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * wait.cc (wait4): Rename variable for consistency. Allow restartable |
| signal behavior. |
| |
| Mon Jan 15 23:15:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (mmap): Add more parameter checking. Change error output |
| in case of EINVAL. Treat mmapping /dev/zero like MAP_ANONYMOUS. |
| |
| Mon Jan 15 20:34:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc: include <unistd.h>. Define some bit operations for |
| the new page map. |
| (mmap_record): Change type of base_address_ to caddr_t. |
| Add map_map_ member. Add several methods to manipulate map_map_. |
| (mmap_record::alloc_map): New method. |
| (mmap_record::free_map): Ditto. |
| (mmap_record::find_empty): Ditto. |
| (mmap_record::map_map): Ditto. |
| (mmap_record::unmap_map): Ditto. |
| (list::add_record): Change return type to `mmap_record *'. |
| Allocate page map. |
| (list::match): New method. |
| (mmap): Partly rewritten to take care for the new page map. Add some |
| parameter checking. |
| (munmap): Ditto. |
| |
| Mon Jan 15 13:50:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * heap.cc (heap_init): Fix extern declaration of getpagesize. |
| * syscalls.cc (getpagesize): Fix another typo. |
| |
| Mon Jan 15 12:48:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (getpagesize): Save pagesize in global variable to |
| avoid calling GetSystemInfo too often. |
| * heap.cc (getpagesize): Eliminate. |
| (heap_init): Use getpagesize function from syscalls.cc. |
| |
| Mon Jan 15 11:56:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sysconf.cc (sysconf): return `getpagesize ()' on _SC_PAGESIZE |
| request to avoid implementing the same twice. |
| |
| Sun Jan 14 14:07:50 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * syscalls.cc (_read): Use more lightweight method for determining if |
| read has been interrupted by a signal. |
| |
| Fri Jan 12 00:35:15 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * debug.h: Add regparm attributes to some functions. |
| |
| * signal.cc (sigaction): Don't treat SIGCONT specially. |
| |
| * exceptions.cc (interrupt_setup): Save sa_flags of interrupted signal |
| for later use. |
| (sig_handler): Default any stopping signal to SIGSTOP. |
| (call_signal_handler): New function. |
| (sigdelayed0): New function. |
| * sigproc.cc (sigproc_init): Initialize SIGSTOP sigaction for special |
| behavior. |
| * sigproc.h: Define call_signal_handler. |
| * syscalls.cc (_read): Allow restartable signal behavior. |
| |
| Thu Jan 11 13:17:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'. |
| (fhandler_disk_file: Ditto. |
| (fhandler_dev_mem): Ditto. |
| * fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute |
| for device\physicalmemory handle. |
| (fhandler_dev_mem::mmap): Ditto. |
| * fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New |
| method. |
| * mmap.cc (mmap_record): Add private `fdesc_' member. Change |
| constructor accordingly. |
| (get_fd): New method. |
| (mmap): Use new mmap_record constructor. |
| (fhandler_base::fixup_mmap_after_fork): New method. |
| (fhandler_disk_file::fixup_mmap_after_fork): Ditto. |
| (fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate |
| fhandler class. |
| |
| Wed Jan 10 22:08:30 2001 Kazuhiro Fujieda <fujieda@jaist.ac.jp> |
| |
| * sigproc.cc (wait_sig): Allow SIGCONT when stopped. |
| |
| Tue Jan 9 16:55:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| Patch suggested by René Møller Fonseca <fonseca@mip.sdu.dk> |
| * include/sys/socket.h: Change prototype to have 2nd parameter `const'. |
| * net.cc (cygwin_bind): Change 2nd parameter to `const'. |
| |
| Sun Jan 7 22:59:37 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * pinfo.cc (codepage_init): Move function. |
| * environ.cc (codepage_init): To here. |
| * exceptoins.cc (SIG_NONMASKABLE): Remove SIGCONT from consideration |
| since it is supposed to be maskable. |
| * signal.cc (sigaction): Ditto. |
| * sigproc.cc (wait_sig): Ditto. |
| * winsup.h: Eliminate global declaration of codepage_init. |
| |
| Thu Jan 5 9:33:00 2001 Corinna Vinschen <corinna@vinschen.de> |
| |
| * resource.cc (getrlimit): Set errno on EFAULT instead of returning |
| it. |
| (setrlimit): Ditto. |
| |
| Thu Jan 5 3:38:00 2001 David Sainty <David.Sainty@optimation.co.nz> |
| |
| * resource.cc (setrlimit): Prevent failing with an error when the |
| operation would not have changed anything. |
| |
| Thu Jan 4 10:29:54 2001 Earnie Boyd <earnie_boyd@yahoo.com> |
| |
| * thread.cc: Need LONG_MAX definition. |
| |
| Wed Jan 3 13:47:23 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * thread.cc (MTinterface::CreateSemaphore): Correctly set semaphore |
| max. |
| |
| Wed Jan 3 09:44:51 2001 Christopher Faylor <cgf@cygnus.com> |
| |
| * fhandler_console.cc (fhandler_console::read): Restore missing test |
| for code page before doing OemToCharBuff. |
| |
| Wed Jan 3 09:20:20 2001 Jason Tishler <jt@dothill.com> |
| |
| * include/cygwin/version.h: Fix typo in CYGWIN_VERSION_DLL_COMBINED |
| macro. |