diff options
Diffstat (limited to 'winsup/cygwin/ChangeLog')
-rw-r--r-- | winsup/cygwin/ChangeLog | 1232 |
1 files changed, 2 insertions, 1230 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e6b69ccd2..58e139679 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,1231 +1,3 @@ -2012-08-09 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000014. - * cygheap.cc (tls_sentry): Move here, rename from 'sentry' in cygtls.cc - (tls_sentry::lock): Ditto. - (nthreads): Move from cygtls.cc - (THREADLIST_CHUNK): Ditto. - (cygheap_init): Call init_tls_list(). - (init_cygheap::init_tls_list): Define new function. - (init_cygheap::add_tls): Ditto. - (init_cygheap::remove_tls): Ditto. - (init_cygheap::find_tls): Ditto. Semi-resurrect from - _cygtls::find_tls. - * cygheap.h (init_cygheap::init_tls_list): Declare new function. - (init_cygheap::add_tls): Ditto. - (init_cygheap::remove_tls): Ditto. - (init_cygheap::find_tls): Ditto. - * cygtls.cc (sentry): Delete. - (sentry::lock): Ditto. - (nthreads): Ditto. - (THREADLIST_CHUNK): Ditto. - (_cygtls::init): Delete definition. - (_cygtls::init_thread): Call cygheap->add_tls() to add thread to global - list. - (_cygtls::remove): cygheap->remove_tls() to remove thread from global - list. - * cygtls.h (_cygtls::init): Delete declaration. - * dcrt0.cc (dll_crt0_0): Delete call to _cygtls::init(). - * exceptions.cc (sigpacket::process): When no thread is specified, try - to find one via cygheap->find_tls. - -2012-08-08 Corinna Vinschen <corinna@vinschen.de> - - * include/sys/wait.h (_wait): Define when building newlib. - -2012-08-07 Christopher Faylor <me.cygwin2012@cgf.cx> - - * signal.cc (sigwaitinfo): Change cw_sig to the correct cw_sig_eintr. - -2012-08-03 Christopher Faylor <me.cygwin2012@cgf.cx> - - * exceptions.cc (sigdelayed): Simplify declaration. - (_cygtls::call_signal_handler): Fix test for when to pop signal stack. - Only do it exactly when what is on the stack is a no-op. - -2012-08-03 Christopher Faylor <me.cygwin2012@cgf.cx> - - * spawn.cc (child_info_spawn::worker): Put back a minor variation of - Corinna's test for detecting a background process when starting a - non-cygwin process. - -2012-08-01 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/socket.h (MSG_BCAST): Define. - (MSG_MCAST): Define. - -2012-08-01 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (fhandler_socket::recv_internal): Add bool parameter. - Add regparm attribute. - * fhandler_socket.cc (fhandler_socket::read): Call recv_internal with - second parameter set to false. - (fhandler_socket::readv): Ditto. - (fhandler_socket::recvfrom): Ditto. - (fhandler_socket::recv_internal): Convert use_recvmsg from local - variable to parameter. Use as request for using WSARecvMsg. Only - fail if WSARecvMsg can't be loaded and wsamsg->Control.len > 0, - otherwise use WSARecv{From}. Restrict dwFlags to MSG_PEEK when using - WSARecvMsg. - (fhandler_socket::recvmsg): Prefer using WSARecvMsg. Change priority - of tests for not using WSARecvMsg. Call recv_internal with second - parameter set accordingly. - -2012-08-01 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in: Semi-revert patch from 2012-07-01, assuming the previous - patch to etc::dir_changed fixes the underlying issue. - -2012-07-31 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (etc::dir_changed): Revert muto changes since function is - called under lock condition anyway. - -2012-07-31 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (etc::dir_changed): Change `io' to a static NO_COPY - variable. Explain why. Add a muto to guard overwriting the changed_h - handle by multiple concurrent threads. - * path.h (class etc): Drop unused changed_h member. - -2012-07-30 Christopher Faylor <me.cygwin2012@cgf.cx> - - * winlean.h: Define constant which will be needed eventually. Remove - hack in favor of another hack. - * lib/crt0.h: Use "winlean.h". - -2012-07-30 Christopher Faylor <me.cygwin2012@cgf.cx> - - * winlean.h: Add temporary define. - * winsup.h: Remove ancient debugging defines. - -2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygwait.cc (cancelable_wait): Add some debugging-only output. - * exceptions.cc (sig_handle_tty_stop): Make sure that incyg is cleared - when exiting if we have no parent process. Only wait for signal_arrived. - (sigpacket::process): Make continue_now a bool. Delay sending - signal_arrived until the end. Make code more defensive to avoid - calling signal handler when stopped. Only set signal_arrived when - stopped. - * sigproc.cc (sig_hold): Rename from sigCONT. Make static. - (sig_send): Accommodate sigCONT -> sig_hold rename. - (wait_sig): Ditto. - * sigproc.h (sigCONT): Delete declaration. - - * fhandler_console.cc (fhandler_console::write): Use new '%0c' facility - to print characters. Change to paranoid to avoid excessive strace - output. - * fhandler_tty.cc (fhandler_pty_master::accept_input): Make frequent - strace printf "paranoid" to help cut down on strace output size. - - * signal.cc (sigsuspend): Add standard syscall strace output. - (sigpause): Ditto. - (pause): Ditto. - -2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygtls.h (_cygtls::reset_signal_arrived): New function. - (set_signal_arrived::~set_signal_arrived): Use reset_signal_arrived to - reset state. - * exceptions.cc (sig_handle_tty_stop): Use WAIT_SIGNALED rather than - assume we know the return from cancelable_wait. - (_cygtls::interrupt_setup): Modify to allow calling when executing in - non-cygwin code via sigdelayed. Always reset signal_arrived. - * gendef: Throughout use start_offset rather than the completely wrong - sizeof__cygtls. - (_sigdelayed): Rewrite to avoid duplication when calling the signal - handler. - (sigreturn): Delete. - * gentls_offsets: Define start_offset rather than sizeof__cygtls. - * tlsoffsets.h: Regenerate. - -2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler_termios.cc (fhandler_termios::line_edit): Use special case - '%0c' handling to print non-printable characters using hex notation. - * smallprint.cc (__small_vsprintf): Semi-reimplement printing of - non-printable characters in hex but only when padding is specified. - - * dcrt0.cc (dll_crt0_0): Remove tty_list initialization. - * shared.cc (memory_init): Initialize tty_list here. - - * path.cc (path_conv::check): Remove unneeded parentheses from if - check. - -2012-07-28 Corinna Vinschen <corinna@vinschen.de> - - * include/inttypes.h: Add x86_64 target considerations throughout. - Define macros in C++ according to C99 requirements. - * include/stdint.h: Ditto. - -2012-07-25 Christopher Faylor <me.cygwin2012@cgf.cx> - - * signal.cc (clock_nanosleep): Force return on signal rather than - letting cancelable_wait loop on signal. - -2012-07-25 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (enum bin_status): Add dir_not_empty. - (try_to_bin): Call NtQueryInformationFile(FileInternalInformation) - with exact buffer size. Explain why. - Ditto for NtSetInformationFile(FileRenameInformation). - Handle race-condition which might lead to renaming a non-empty - directory. - (unlink_nt): Rearrange and partially rephrase comments related to the - STATUS_SHARING_VIOLATION case. Fix condition under which a dir is - tested for being non-empty. Handle dir_not_empty return code from - try_to_bin. Gracefully handle disappearing directory in rm -r - workaround. Fix typo in comment. - -2012-07-24 Corinna Vinschen <corinna@vinschen.de> - - * wincap.cc (wincapc::init): Drop memset call since it can result in - a race condition. Drop all considerations for pre-Windows 2000 systems - since Cygwin won't start on them anyway. - -2012-07-23 Christopher Faylor <me.cygwin2012@cgf.cx> - - Change "set_thread_waiting" to "set_signal_arrived" throughout. - -2012-07-21 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000013. - * cygserver_ipc.h (ipc_set_proc_info): Use _cygtls::ipc_set_proc_info - to set per-thread signal arrived value. - * cygthread.cc (cygthread::detach): Use per-thread signal_arrived via - set_thread_waiting. - * fork.cc (_cygtls::fixup_after_fork): Clear signal_arrived. - (_cygtls::remove): Close any signal_arrived handle when thread exists. - (_cygtls::find_tls): Remove unneeded function. - * cygtls.h: Update copyright. - (class _cygtls): Reorganize to help avoid rebuilding newlib when - structure changes. - (_cygtls::event): Delete. - (_cygtls::threadkill): Ditto. - (_cygtls::signal_waiting): Declare new bool. - (_cygtls::find_tls): Delete declaration. - (_cygtls::set_threadkill): Ditto. - (_cygtls::reset_threadkill): Ditto. - (_cygtls::set_signal_arrived): Declare new function. - (class set_thread_waiting): Declare new class. - * cygwait.cc (cw_nowait_storage): Define. - (cygwait): Set per-thread signal_arrived via set_thread_waiting. Don't - special-case _main_tls. - * cygwait.h (cw_nowait): Define. - (cw_infinite): Ditto. - (cygwait): Redefine pathological wait-only case. - * dcrt0.cc (dll_crt0_0): Remove call to now-defunct events_init(). - (dll_crt0_1): Remove call to now-defunct create_signal_arrived(). - * exceptions.cc: Reflect set_signal_mask() argument reordering - throughout. Remove signal mask synchronization throughout. - (events_init): Delete definition. - (mask_sync): Delete now-unneeded mask synchronization. - (set_signal_mask): Reverse order of arguments to "standard" to, from - layout. Rename "newmask" argument to "setmask". Remove debugging. - (sig_handle_tty_stop): Use cancelable_wait rather than WFMO. - (_cygtls::interrupt_setup): Don't treat "threadkill" events specially. - Conditionally set signal_arrived depending on whether the thread has - created it or not. - (sigpacket::process): Reorganize to reflect thread-specific sending of - signals which is more in line with the way it was actually supposed to - work. - * fhandler_socket.cc (get_inet_addr): Use cancelable_wait rather than - IsEventSignalled to avoid potential race. - (fhandler_socket::wait_for_events): Set signal_arrived event using - set_thread_waiting(). - (fhandler_socket::close): Use cygwait for the case of just - waiting 10 ms for a signal. - * fhandler_tape.cc (fhandler_dev_tape::_lock): Use cancelable_wait - rather than WFMO. Redo switch/case tests accordingly. - * fhandler_termios.cc (fhandler_termios::bg_check): Use cygwait for - case of just waiting 0 ms for a potential signal. - * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Use - cancelable_wait rather than WFSO. - * fhandler_windows.cc (fhandler_windows::read): Set per-thread - signal_arrived via set_thread_waiting(). - * flock.cc (lf_setlock): Ditto. - * select.cc (pselect): Ditto. Set per-thread signal_arrived using - set_thread_waiting(). - * gendef: Don't special case handling of _cygtls::sig for threads. - * gentls_offsets: Use #pragma once in tlsoffsets.h. - * ntdll.h: Use #pragma once. - * poll.cc: Reflect set_signal_mask() argument reordering. - * posix_ipc.cc (ipc_mutex_lock): Use cancelable_wait rather than WFMO. - (ipc_cond_timedwait): Set perl-thread signal arrived using - set_thread_waiting(). - * security.h: Use #pragma once. - * signal.cc (abort): Reflect set_signal_mask() argument reordering. - (clock_nanosleep): Ditto. Change call to cancelable_wait to properly - specify handling of cancel and interrupt. - (sigwaitinfo): Remove handling of per-thread event in favor of - per-thread signal_arrived. Use cancelable_wait rather than WFSO. - * sigproc.cc (signal_arrived): Delete definition. - (create_signal_arrived): Ditto. - * sigproc.h (signal_arrived): Delete declaration. - (set_signal_mask): Avoid defining as a "C" function. Don't - conditionally declare. - (create_signal_arrived): Delete declaration. - * syscalls.cc (rename): Use cygwait() rather than WFSO. - * thread.h (fast_mutex::lock): Use cw_infinite rather than LARGE_NULL. - * wait.cc (wait4): Ditto. - * thread.cc (pthread_mutex::lock): Ditto. - (pthread::join): Ditto. - (semaphore::_wait): Ditto. - (pthread_kill): Remove set_threadkill() accommodation. - * tlsoffsets.h: Regenerate. - -2012-07-21 Christopher Faylor <me.cygwin2012@cgf.cx> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 17. - -2012-07-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - - * mount.cc (getmntent_r): Remove unused but set variable. - -2012-07-18 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - - * cygwin.din (getmntent_r): Export. - * mount.cc (getmntent_r): New function. - * posix.sgml (std-gnu): Add getmntent_r. - * include/mntent.h (getmntent_r): Declare. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2012-07-12 Corinna Vinschen <corinna@vinschen.de> - - * winlean.h: Make sure certain Windows macros are undefined again. - Add comment to explain why. - * winsup.h: Include winlean.h from C sources as well. - * libc/minires-os-if.c: Drop including ntdef.h. - -2012-07-12 Corinna Vinschen <corinna@vinschen.de> - - * pseudo-reloc.cc: Drop including wchar.h and ntdef.h. - (__report_error): Define module as WCHAR. - * advapi.cc: Drop including wchar.h. - * kernel32.cc: Ditto. - -2012-07-11 Corinna Vinschen <corinna@vinschen.de> - - * cygtls.cc (well_known_dlls): Add ole32.dll and wbemprox.dll. - -2012-07-09 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.sc (.rdata): Revert patch from 2012-07-06. - -2012-07-09 Corinna Vinschen <corinna@vinschen.de> - - * passwd.cc (getpass): Make check for closed stream more reliable. - Check if setting tty attributes worked and only revert to old state - if so. - -2012-07-09 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in, configure.in, mkvers.sh: Revert accidental checkin from - 2012-07-06. - -2012-07-07 Christopher Faylor <me.cygwin2012@cgf.cx> - - * Makefile.in: Change mingw_lib (temporarily?) back to w32api_lib. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * winlean.h (__STRALIGN_H_): Drop definition. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_procnet.cc: Fix copyright. - * syslog.cc: Ditto. - * libc/minires-os-if.c: Ditto. - * libc/minires.h: Ditto. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - In terms of network related functionality, rely on Winsock definitions - as much as possible: - * dtable.cc: Drop including sys/socket.h. - * fhandler_procnet.cc: Change includes accordingly. - * fhandler_socket.cc: Ditto. - (fhandler_socket::listen): Avoid gcc error message initializing sin6. - (LPFN_WSARECVMSG): Only define when building against w32api headers. - * net.cc: Change includes accordingly. Define USE_SYS_TYPES_FD_SET - and __WSA_ERR_MACROS_DEFINED. Define _INC_NETIOAPI temporarily and - explain why. - (struct _IP_ADAPTER_UNICAST_ADDRESS_LH): Only define when building - against w32api headers. - (struct _IP_ADAPTER_ADDRESSES_LH): Ditto. - (SIO_GET_INTERFACE_LIST): Ditto. - (ws_freeaddrinfo): Rename from freeaddrinfo so as not to collide with - Winsock declaration. Change througout. - (ws_getaddrinfo): Ditto. - (ws_getnameinfo): Ditto. - * select.cc: Include netdb.h after defining USE_SYS_TYPES_FD_SET. - * syslog.cc: Drop including netinet/in.h. Define USE_SYS_TYPES_FD_SET - and include ws2tcpip.h. - * include/netdb.h (struct addrinfo): Don't define when building Cygwin. - * include/cygwin/if.h: Don't declare if_xxx functions when building - Cygwin. - * include/cygwin/in.h: Disable most definitions when building Cygwin. - * include/cygwin/socket.h: Disable sockaddr and sockaddr_storage - definitions when building Cygwin. Same for MCAST_INCLUDE/MCAST_EXCLUDE. - * libc/inet_addr.c: Don't define __INSIDE_CYGWIN__ nor - __INSIDE_CYGWIN_NET__. - * libc/inet_network.c: Ditto. - * libc/minires.h: Drop redundant inclusion of netdb.h. Define - __INSIDE_CYGWIN_NET__ only before including netdb.h and resolver - headers. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * winbase.h: Throughout use LONG rather than long type to prepare for - 64 bit. - (InterlockedCompareExchangePointer): Define. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_registry.cc (RegOpenUserClassesRoot): Only define when - building against w32api headers. - (RegOpenCurrentUser): Ditto. - * fhandler_tty.cc (GetNamedPipeClientProcessId): Ditto. - * ntdll.h (enum _PROCESSINFOCLASS): Add ProcessImageFileName. - (RtlInitAnsiString): Declare. - (RtlUnicodeStringToAnsiSize): Declare. - * sched.cc (GetForegroundWindow): Ditto. - * sec_helper.cc (SECURITY_NT_NON_UNIQUE): Define as - SECURITY_NT_NON_UNIQUE_RID when building against w32api headers. - (cygsid::get_sid): Use SECURITY_NT_NON_UNIQUE rather than - SECURITY_NT_NON_UNIQUE_RID. - (__sec_user): Use PISECURITY_DESCRIPTOR rather than PSECURITY_DESCRIPTOR - to allow valid pointer arithmetic. - (_recycler_sd): Ditto. - (_everyone_sd): Ditto. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * advapi32.cc (_ADVAPI32_): Drop definition. - * kernel32.cc (_KERNEL32_): Ditto. - * winlean.h: Add definitions required to use Mingw64 headers. - (FILE_SHARE_VALID_FLAGS): Drop definition. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * winsup.h (_WIN32_WINNT): Define. Explain why. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * libc/rcmd.cc: Don't undef __INSIDE_CYGWIN_NET__. - -2012-07-06 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.sc (.rdata): Include all sections starting with .rdata. - (.debug_pubtypes): Make sure section is loaded at the end like all other - debug sections. - -2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx> - - * dcrt0.cc (build_argv): Guard against NULL pointer dereference found - by Clang. - -2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx> - - * exceptions.cc (setup_handler): Remove unneeded assignment found by - Clang. - -2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx> - - * hookapi.cc (find_first_notloaded_dll): Remove unused assignment of - importRVASize found by Clang. - -2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler_tty.cc (fhandler_pty_slave::read): Remove duplicate - assignment to bytes_in_pipe found by Clang. - -2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * exceptions.cc (exception::handle): Use error_code in klog, as - intended. Found by Clang. - -2012-07-02 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (class fhandler_dev_clipboard): Remove member eof. - * fhandler_clipboard.cc: Throughout remove handling of eof member. - (fhandler_dev_clipboard::write): Handle EOF condition immediately, - rather than pushing it erroneously to the next read call. Rearrange - code. Fix bug in CF_UNICODETEXT case which potentially dropped single - bytes at the end of the buffer. Add comment. - * strfuncs.cc (sys_cp_wcstombs): Allow returning non-NUL-terminated - buffer if dst != NULL and len == (size_t) -1. Extend leading comment - to explain what's returned in more detail. - -2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler_virtual.cc (fhandler_virtual::opendir): Eliminate duplicate - assignment found by Clang. - -2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler_registry.cc (fhandler_registry::open): Handle missing EROFS - error condition pointed to by Clang. - -2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * pinfo.cc (_pinfo::commune_request): Eliminate unneeded assignment - found by Clang. - -2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * external.cc (fillout_pinfo): Return NULL rather than 0. - (exit_process): Guard against NULL pointer dereference found by Clang. - -2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * mount.cc (mount_info::conv_to_win32_path): Eliminate unneeded - assignment found by Clang. - -2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * path.cc (symlink_info::check): Remove unneeded/unused variable found - by Clang. - -2012-07-02 Corinna Vinschen <corinna@vinschen.de> - - * dll_init.cc (dll_list::alloc): Take long UNC paths into account. - -2012-07-01 Christopher Faylor <me.cygwin2012@cgf.cx> - - * Makefile.in: Add some more optimization flags for cygwait, malloc and - path. Explain why -fomit-frame-pointer doesn't work right for passwd.o - and path.o. Add -static to link command line for cygwin0.dll. - - * fhandler_disk_file.cc (fhandler_disk_file::facl): Reorganize slightly - to silence compiler warning when compiling with -fstack-check. - * net.cc (inet_ntop6): Initialize structure members to silence compiler - warning when compiling with -fstack-check. - - * pseudo-reloc.cc (_pei386_runtime_relocator): Make this a C function. - Detect NULL u. - * winsup.h (_pei386_runtime_relocator): Declare this as extern "C". - * lib/_cygwin_crt0_common.cc (_pei386_runtime_relocator): Call with - NULL argument. - - * signal.cc (sigaction_worker): Eliminate last argument. Let callers - report their own strace info. Regparmize. - (sigaction): Reflect sigaction_worker changes. - (siginterrupt): Ditto. - - * exceptions.cc: Update copyright. - -2012-07-01 Christopher Faylor <me.cygwin2012@cgf.cx> - - * path.cc: Perform some whitespace fixups throughout. - -2012-06-28 Corinna Vinschen <corinna@vinschen.de> - - * kernel32.cc (_KERNEL32_): Define. Explain why. - (CreateFileMappingW): Drop undocumented flProtect flags. - -2012-06-28 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_serial.cc: Fix includes for IOCTL codes to support Mingw64. - * fhandler_tape.cc: Ditto. - * flock.cc (allow_others_to_sync): Use PISECURITY_DESCRIPTOR since - PSECURITY_DESCRIPTOR is supposed to be the opaque type. - * ntdll.h: Remove CreateDisposition flags again, now that they are - defined in Mingw64's ntdef.h. Ditto for Create/Open flags. - -2012-06-28 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (RtlUnwind): Align declaration with MSDN. - * ntdll.h: Define CreateDisposition Flags. Add comments. - * winlean.h: Define FILE_SHARE_VALID_FLAGS if using Mingw64 headers. - -2012-06-27 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygwait.h (cancelable_wait): Make extern to avoid always including. - * select.cc (allocfd_set): Try to make a little more efficient. - (cygwin_select): Break into two functions to avoid what seems to be a - strange compiler problem with alloca and sel constructor. - (select): New function. Always honor return from call_signal_handler. - (select_stuff::wait): Always honor return from call_signal_handler. - * select.h (select_stuff::select_stuff): Use NULL to initialize - pointers rather than 0. - -2012-06-27 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (exception::handle): Cast exception code to NTSTATUS - for comparison. - * ntdll.h: Drop defining NT status codes in favor of including - ntstatus.h. - -2012-06-27 Corinna Vinschen <corinna@vinschen.de> - - * miscfuncs.cc (WritePipeOverlapped): Define second parameter LPCVOID, - rather than PCVOID. - * miscfuncs.h (WritePipeOverlapped): Ditto. - -2012-06-27 Corinna Vinschen <corinna@vinschen.de> - - * advapi32.cc (_ADVAPI32_): Define. Explain why. - (ImpersonateNamedPipeClient): Add missing WINAPI. - * ntdll.h (STATUS_INVALID_PARAMETER): Only define if it isn't already. - (STATUS_DLL_NOT_FOUND): Ditto. - (STATUS_ENTRYPOINT_NOT_FOUND): Ditto. - (enum _EVENT_TYPE): Guard against redefinition since it's already - defined in Mingw64's ntdef.h. - (enum _TIMER_TYPE): Ditto. - (enum _SECTION_INHERIT): Define if using Mingw64 headers since it's - missing in Mingw64's ntdef.h. - * winlean.h (__STRALIGN_H_): Define before including windows.h. - -2012-06-26 Corinna Vinschen <corinna@vinschen.de> - - * winsup.h (GetLastError): Drop redundant definition. - -2012-06-25 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygwait.cc (cancelable_wait): Make sure that timer is cancelled - before cancelling thread. - -2012-06-25 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygwait.h (cancelable_wait): Need to force time to negative to - indicate relative time. - -2012-06-21 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (realpath): Fix comment. - -2012-06-21 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (realpath): Call mount_info::conv_to_posix_path rather than - mount_info::cygdrive_posix_path to convert DOS paths to POSIX paths. - Add comment to explain why that's necessary at all. - -2012-06-18 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygwait.h (LARGE_NULL): Define. - (cancelable_wait): Define variant which accepts DWORD time argument. - (cygwait): Use cancelable_wait with DWORD argument. - (cygwait): Use cancelable_wait with DWORD argument and cw_sig_eintr for - timeout-only case. - * exceptions.cc (handle_sigsuspend): Use LARGE_NULL as second argument - to distinguish between cancelable_wait variants. - * thread.cc (pthread_mutex::lock): Ditto. - (pthread::join): Ditto. - (semaphore::_timedwait): Ditto. - * thread.h (fast_mutex::lock): Ditto. - * wait.cc (wait4): Ditto. - -2012-06-18 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygwait.cc (cancelable_wait): Mimic old cygwait behavior more closely - wrt handling of call_signal_handler. - * cygwait.h (WAIT_CANCELED): Move here and redefine. - (WAIT_SIGNALED): Ditto. - * thread.h (WAIT_CANCELED): Delete. - (WAIT_SIGNALED): Ditto. - -2012-06-18 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.cc (init_cygheap::init_installation_root): Rearrange code - creating valid native NT installation_root path. Only strip last - backslash from path if the result is a valid NT path. Explain why. - -2012-06-17 Christopher Faylor <me.cygwin2012@cgf.cx> - - Add '#include "cygwait.h"' throughout, where appropriate. - * DevNotes: Add entry cgf-000012. - * Makefile.in (DLL_OFILES): Add cygwait.o. - * sigproc.h: Remove cygwait definitions. - * cygwait.h: New file. Define/declare Cygwin waitfor functions. - * cygwait.cc: Ditto. - * exceptions.cc: Include cygwait.h. - (handle_sigsuspend): Accommodate change in cancelable_wait arguments. - (sigpacket::process): Display thread tls in debugging output. - * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Use symbolic - names for signal and cancel return. - * fhandler_console.cc (fhandler_console::read): Ditto. - (fhandler_dev_dsp::Audio_out::waitforspace): Ditto. - fhandler_dev_dsp::Audio_in::waitfordata): Ditto. - * fhandler_fifo.cc (fhandler_fifo::wait): Ditto. - * fhandler_serial.cc (fhandler_serial::raw_read): Ditto. - * fhandler_tty.cc (fhandler_pty_slave::read): Ditto. - * select.cc (cygwin_select): Ditto. - * wait.cc (wait4): Ditto. - * thread.cc (cancelable_wait): Move definition to cygwait.h. - (pthread_cond::wait): Accommodate change in cancelable_wait arguments. - (pthread_mutex::lock): Ditto. - (pthread_spinlock::lock): Ditto. - (pthread::join): Ditto. - (pthread::thread_init_wrapper): Display tls in debugging output. - (semaphore::_timedwait): Ditto. - * thread.h (cw_sig_wait): Move to cygwait.h. - (cw_cancel_action): Delete. - (cancelable_wait): Move declaration to cygwait.h. - -2012-06-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - - * regex/regcomp.c (p_ere): Allow vertical-line following - left-parenthesis in ERE, as in glibc. - -2012-06-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - - * include/sys/elf_common.h (R_386_16): Define. - (R_386_PC16): Define. - (R_386_8): Define. - (R_386_PC8): Define. - -2012-06-09 Christopher Faylor <me.cygwin2012@cgf.cx> - - * select.cc (cygwin_select): Remove select_timeout test. - (select_stuff::wait): Return select_set_zero on timeout. - (thread_socket): Report timeout when debugging. - -2012-06-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - - * include/elf.h: Update from FreeBSD. - * include/machine/elf.h: New header, from FreeBSD. - * include/sys/elf.h: Ditto. - * include/sys/elf32.h: Update from FreeBSD. - * include/sys/elf64.h: Ditto. - * include/sys/elf_common.h: Ditto. - (R_IA64_*): Define Linux-style names as aliases to R_IA_64_*. - (R_SH_*): Define, based on sh-4 psABI. - (R_390_*): Define, based on s390x psABI. - * include/sys/elf_generic.h: Ditto. - -2012-06-04 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::link ): Translate - STATUS_NOT_SUPPORTED to EPERM as well. - -2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx> - - * dtable.cc (dtable::dup3): Only return with lock set when O_EXCL flag - is passed in. - * syscalls.cc (dup_finish): Pass O_EXCL in flags to dtable::dup3. - -2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000011. - * fhandler.h (fhandler_base::refcnt): Delete. - (fhandler_base::inc_refcnt): New function. - (fhandler_base::dec_refcnt): New function. - * cygheap.h (cygheap_fdnew::~cygheap_fdnew): Accommodate split of - refcnt to inc_refcnt/dec_refcnt. - (cygheap_fdget::cygheap_fdget): Ditto. - (cygheap_fdget::~cygheap_fdget::cygheap_fdget): Ditto. - * dtable.cc (dtable::release): Ditto. - (cygwin_attach_handle_to_fd): Ditto. - (dtable::init_std_file_from_handle): Ditto. - (dtable::dup3): On success, return with fdtab locked. - * dtable.h (dtable): Add dup_finish as a friend. - * syscalls.cc (dup_finish): Define new function. Increment refcnt - while fdtab is locked. - (dup2): Use common dup_finish() to perform dup operation. - (dup3): Ditto. - -2012-06-03 Corinna Vinschen <corinna@vinschen.de> - - * globals.cc (ro_u_refs): New R/O unicode string. - * mount.cc (fs_info::update): Recognize ReFS. - * mount.h (enum fs_info_type): Add refs. - (class fs_info): Add refs flag and accessor methods. - * ntdll.h (RtlAddAccessAllowedAceEx): Declare. - (RtlAddAccessDeniedAceEx): Declare. - * path.h (path_conv::fs_is_refs): Define. - * sec_helper.cc (_recycler_sd): New function to create security - descriptors suitable for the recycler bin starting with Vista. - * security.cc (add_access_allowed_ace): Use RtlAddAccessAllowedAceEx - and drop code to set AceFlags explicitely. - (add_access_denied_ace): Use RtlAddAccessDeniedAceEx and drop code to - set AceFlags explicitely. - * security.h (_recycler_sd): Declare. - (recycler_sd): Define. - * syscalls.cc (desktop_ini): Change formatting. - (desktop_ini_ext): Define third line of recycler desktop.ini file - since Vista, - (try_to_bin): Handle ReFS just like NTFS. Write Vista and later - Recycler in all uppercase, just like shell32 does when recreating it. - Fix comments to include ReFS. Don't implicitely reuse object - attributes from earlier NtOpenFile call, rather recreate it for safety. - Use recycler_sd call when creating security descriptor for Recycler - dirs and files on Vista and later. Write third line of desktop.ini - when on Vista and later. - -2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx> - - * winbase.h: Add missing copyright date. - -2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx> - - * select.cc (cygwin_select): Make sure that we only return -1 as an - error return. - (select_stuff::wait): Semi-revert to previous method for filling out - w4. - -2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * select.cc (cygwin_select): Add some comments. - (select_stuff::wait): Ditto. - -2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000010. - * select.cc (set_handle_or_return_if_not_open): Remove unneeded final - backslash from definition. - (cygwin_select): Reorganize to incorporate outer retry loop. Move - remaining time recalculation here for retry case. Use - select_stuff::wait_states for loop control. - (select_stuff::cleanup): Avoid unneeded initialization. - (select_stuff::wait): Modify definition to return - select_stuff::wait_states. Eliminate is_cancelable. Don't inspect - element 1 of an array if it is a cancel handle. Remove loop. Rely on - being called from enclosing loop in cygwin_select. Remove time - recalculation when restarting. Try harder to always return from the - bottom. - * select.h (select_stuff::wait_state): New enum. - (select_stuff::wait): Modify declaration to return - select_stuff::wait_states. - -2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * exceptions.cc (setup_handler): Make debugging output a little more - verbose. - -2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * cygtls.h (_cygtls::protect_linked_list): Delete unused field. - -2012-05-30 Corinna Vinschen <corinna@vinschen.de> - - * hookapi.cc (find_first_notloaded_dll): Extend comment. Fix usage of - mapped memory. Shorten static library name buffer to MAX_PATH. Use - strlcpy to copy library name to buffer. Only Unmap "map" if it has been - Mapped before. - * pinfo.cc (status_exit): Drop unneeded declaration of - find_first_notloaded_dll in favor of the declaration in winsup.h. - -2012-05-30 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc: Remove temporary newlib workaround, now that newlib - handles thread cancellation by itself. - (class __cygwin_lock_handler): Remove. - (__cygwin_lock_cleanup): Remove. - (__cygwin_lock_lock): Revert newlib workaround, - (__cygwin_lock_trylock): Ditto. - (__cygwin_lock_unlock): Ditto. - (pthread::pop_cleanup_handler): Ditto. - -2012-05-29 Corinna Vinschen <corinna@vinschen.de> - - * select.cc (select_stuff::wait): Temporarily disable restarting - entirely. - -2012-05-29 Corinna Vinschen <corinna@vinschen.de> - - * security.h (cygsidlist::+=): Correctly copy well_known_sid info from - source cygsid. - -2012-05-25 Corinna Vinschen <corinna@vinschen.de> - - * registry.cc (reg_key::build_reg): Fix typo in debug output. - -2012-05-25 Corinna Vinschen <corinna@vinschen.de> - - * select.cc (select_stuff::wait): When not returning after receiving - a signal, recalculate timeout. Apply temporary fix to avoid crashes - after calling the signal handler. Explain. - -2012-05-25 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_serial.cc (fhandler_serial::raw_read): Check for - ERROR_OPERATION_ABORTED rather than ERROR_IO_INCOMPLETE after CancelIo. - -2012-05-25 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_serial.cc (fhandler_serial::raw_read): Just call ReadFile - directly in case of non-blocking I/O and handle result gracefully. - -2012-05-24 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (__cygwin_lock_lock): Replace null thread check with test - for cygwin_finished_initializing to handle process startup. - (__cygwin_lock_trylock): Ditto. - (__cygwin_lock_unlock): Ditto. - -2012-05-23 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (__cygwin_lock_lock): Take null thread at process startup - into account. - (__cygwin_lock_trylock): Ditto. - (__cygwin_lock_unlock): Ditto. - -2012-05-23 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread::cancel): Re-allow asynchronous cancellation from - Cygwin code since it looks like the problem is Windows only. - -2012-05-23 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc: Add a temporary workaround to help Cygwin along while - newlib doesn't install cleanup handlers. Explain the problem. - (class __cygwin_lock_handler): New class. - (__cygwin_lock_cleanup): New function. - (__cygwin_lock_lock): Push __cygwin_lock_cleanup thread cleanup - handler. - (__cygwin_lock_trylock): Ditto. - (__cygwin_lock_unlock): Pop thread cleanup handler. - (pthread::pop_cleanup_handler): Temporarily allow cleanup function to - destroy cleanup handler so we can pop in another function than we - pushed in. - -2012-05-23 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread::cancel): Only allow asynchronous cancellation - if the thread is not executing Cygwin or Windows code. Explain why. - -2012-05-23 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread::precreate): Make sure mutex is recursive. - Explain why. - -2012-05-23 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread::pop_cleanup_handler): Move setting the cancelstate - to PTHREAD_CANCEL_DISABLE from here... - (pthread::pop_all_cleanup_handlers): ...to here, otherwise any explicit - call to pthread_cleanup_pop disables cancellation for this thread. - -2012-05-23 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (refcnt): Add i interlocked. Explain why. - * winbase.h (ilockadd): New function. - (InterlockedAdd): Define as ilockadd. - -2012-05-22 Corinna Vinschen <corinna@vinschen.de> - - * devices.in: Fix native name of /dev/kmem. - * devices.cc: Regenerate. - * dtable.cc (fh_alloc): Don't forget FH_KMEM. - * fhandler_mem.cc (fhandler_dev_mem::open): Set errno to EACCES rather - than ENOENT on systems not granting access to physical memory from - user space. - -2012-05-22 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread::cancel): Set thread's cancel_event in - PTHREAD_CANCEL_ASYNCHRONOUS case, too. Explain why. - -2012-05-21 Corinna Vinschen <corinna@vinschen.de> - - * strace.cc (strace::activate): Move printing heap size from here... - * heap.cc (heap_init_info): ...to here. Explain why. Print heap - size in hex and decimal. - -2012-05-21 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (cygwin_recvfrom): Don't shortcircuit if len == 0. Add comment - to explain why. - (cygwin_recv): Ditto. - (cygwin_recvmsg): Ditto. - -2012-05-21 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (path_conv::isgood_inode): Rearrange, take - Samba versions >= 3.5.4 into account, add comments. - -2012-05-16 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000009. - * smallprint.cc (__small_vsprintf): Always treat '%c' and '%C' as - characters. Don't decode them if they are > 127. - (__small_vswprintf): Ditto. - -2012-05-15 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000008. - * fhandler_tty.cc (bytes_available): Simplify by returning the number - of bytes available in the message unless that is zero. - -2012-05-14 Christopher Faylor <me.cygwin2012@cgf.cx> - - * child_info.h (CURR_CHILD_INFO_MAGIC): Update. - -2012-05-14 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000007. - * child_info.h (child_info_spawn::parent_winpid): Declare new field. - (child_info_spawn::get_parent_handle): Declare new function. - * dcrt0.cc (child_info_spawn::get_parent_handle): Define new function. - (child_info_spawn::handle_spawn): Recreate parent handle if possible - when dynamically loaded. Don't mess with parent handle if it's NULL. - * spawn.cc (child_info_spawn::worker): Set parent_winpid appropriately. - -2012-05-12 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000006. - * thread.cc (pthread::pop_cleanup_handler): Set cancel state to - disabled to avoid recursively waiting for cancel. - -2012-05-12 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000005. - * fhandler.h (PIPE_ADD_PID): Redefine to something we actually DON'T - use. - * pipe.cc (fhandler_pipe::create): Avoid clearing all open_mode bits - when checking for PIPE_ADD_PID. Properly keep track of len so that - passed in name is not overwritten. - -2012-05-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - - * cygwin.din (memrchr): Export. - * posix.sgml (std-gnu): Add memrchr. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2012-05-10 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 16. - -2012-05-08 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000004. - * pinfo.cc (pinfo::init): Reuse shared memory if the state is marked - with PID_REAPED. - * spawn.cc (child_info_spawn::worker): Don't duplicate myself_pinfo - into non-cygwin child. - - * fork.cc (frok::parent): Improve error output. - -2012-05-07 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000003. - * cygheap.h (init_cygheap::pid_handle): Delete. - * dcrt0.cc (child_info_spawn::handle_spawn): Keep parent open if we - have execed. - * pinfo.cc (pinfo::thisproc): Remove pid_handle manipulations. - (pinfo::init): Don't consider a reaped process to be available. - * spawn.cc (child_info_spawn::worker): Remove pid_handle manipulations. - Make wr_proc_pipe and parent noninheritable when starting a program - which doesn't use the Cygwin DLL. Conditionally reset wr_proc_pipe to - inheritable if CreateProcess fails. Inject wr_proc_pipe handle into - non-Cygwin process. Consider a non-cygwin process to be 'synced'. - -2012-05-03 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: Add entry cgf-000002. - * fhandler_tty.cc (bytes_available): Revert to previous Oct-2011 - behavior where a dummy buffer is used to determine how many bytes will - be read. - (fhandler_pty_master::ioctl): Correct coercion in assignment. - -2012-05-03 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (get_adapters_addresses): Only create thread on affected - systems. Change comment acordingly. - * wincap.h (wincaps::has_gaa_largeaddress_bug): New element. - * wincap.cc: Implement above element throughout. - (wincap_8): New globale wincaps to support Windows 8. - (wincapc::init): Take Windows 8 into account. Set new - has_gaa_largeaddress_bug member to false on 32 bit systems. - -2012-05-02 Christopher Faylor <me.cygwin2012@cgf.cx> - - * DevNotes: New file. Add entry cgf-000001. - * sigproc.cc (proc_terminate): Don't set parent pid of child to 1 if - we've execed since the execed process is still considered the parent. - - * child_info.h: Bump copyright. - -2012-05-02 Corinna Vinschen <corinna@vinschen.de> - - * fenv.cc (fesetround): Fix test for valid input parameter. - (fesetprec): Ditto. - -2012-04-30 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler.h (PIPE_ADD_PID): Define new flag. - * pipe.cc (fhandler_pipe::create): Don't indiscriminately add process - id to every pipe since some pipe names (fifo, tty) don't need it. - * sigproc.cc (sigproc_init): Pass PIPE_ADD_PID to fhandler_pipe::create - to ensure that pid is always part of sigwait pipe name. - -2012-04-28 Christopher Faylor <me.cygwin2012@cgf.cx> - - * environ.cc (struct parse_thing): Add "pipe_byte" option. - * globals.cc (pipe_byte): Declare. - * pipe.cc (fhandler_pipe::create): Use current process id in pipe name - rather than pid for simple name collision avoidance. Do this only once - to avoid extra overhead when a busy pipe is found. Honor pipe_byte to - create non-message pipes if set. - * sigproc.cc (sigproc_init): Use a specific name for the signal pipe. - -2012-04-27 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (find_fast_cwd_pointer): Fix for W8 CP 32 bit. - -2012-04-25 Thomas Wolff <towo@towo.net> - - * fhandler.h (class dev_console): Add member ext_mouse_mode5. - * fhandler_console.cc (fhandler_console::read): Implement extended - mouse mode 1005 (xterm, mintty). - Fix actual mouse reporting for large coordinates. - -2012-04-24 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 15. - -2012-04-24 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_console.cc (ALT_PRESSED): Define earlier, never undefine. - (CTRL_PRESSED): Ditto. - (fhandler_console::read): Simplify expressions testing for pressed ALT - or CTRL modifier keys. - (get_nonascii_key): Ditto. - -2012-04-24 Thomas Wolff <towo@towo.net> - - * fhandler.h (class dev_console): Add members ext_mouse_mode6 and - ext_mouse_mode15. - * fhandler_console.cc (fhandler_console::read): Implement extended - mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm). Recognize, - but don't implement extended mouse mode 1005 (xterm, mintty). - Support mouse coordinates greater than 222 (each axis). Fix formatting. - (fhandler_console::char_command): Initialize enhanced mouse reporting - modes. - -2012-04-21 Christopher Faylor <me.cygwin2012@cgf.cx> - - * dtable.cc (fh_alloc): Only disallow opening of nonexistent on-disk - device. - * path.cc (path_conv::check): Remove PATH_KEPT_HANDLE setting. - * path.h (path_types): Remove PATH_KEPT_HANDLE. - (path_conv::kept_handle): Delete now-unneeded function. - -2012-04-19 Christopher Faylor <me.cygwin2012@cgf.cx> - - * dtable.cc (fh_alloc): Keep fh which was flagged as error if it is for - an on-disk device and we were stating it. - * path.cc (path_conv::check): Set PATH_KEPT_HANDLE. - * path.h (path_types): Add PATH_KEPT_HANDLE. - (path_conv::kept_handle): Implement. - -2012-04-18 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler.h (fhandler_base::nohandle): Revert to standard - implementation. - * dtable.cc (dtable::fixup_after_exec): Specifically reject releasing - nohandle() type fhandlers rather than relying on contents of io_handle. - (dtable::fixup_after_fork): Ditto. - * fhandler_termios.cc: Add includes necessary for definitions of - have_execed and have_execed_cygwin. - (fhandler_termios::sigflush): Don't flush console input when we've - started a non-Cygwin process. - -2012-04-15 Christopher Faylor <me.cygwin2012@cgf.cx> - - * wincap.h: Rename assitant to assistant throughout. - * wincap.cc: Ditto. - * devices.in (exists_console): Use fhandler_console::exists () rather - than raw test. - * devices.cc: Regenerate. - * fhandler.h (fhandler_console::exists): Define new function. - * fhandler_console.cc (fhandler_console::need_invisible): Use - fhandler_console::exists () rather than raw test. - * spawn.cc: Rename assitant to assistant throughout. - (child_info_spawn::worker): Simplify test for when to start a - non-Cygwin process in its own process group. Just do it whenever we - start a non-Cygwin process. - -2012-04-12 Christopher Faylor <me.cygwin2012@cgf.cx> - - * devices.in (exists_console): Allow /dev/con{sole,in,out} to be - referenced if a console exists. - * devices.cc: Regenerate. - * fhandler_console.cc (fhandler_console::set_unit): Ditto. - -2012-04-11 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (fhandler_base::stat_fixup): Fix inode numbers of - non-device files in virtual fileysystems. - -2012-04-07 Christopher Faylor <me.cygwin2012@cgf.cx> - - * dtable.cc (cygwin_attach_handle_to_fd): Defend against NULL return - from build_fh_*. - (dtable::init_std_file_from_handle): Ditto. - * mmap.cc (mmap_record::alloc_fh): Ditto. - * path.cc (path_conv::check): Ditto. - -2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler.h (fhandler_base::nohandle): Implement "by hand" rather than - through macro. Set io_handle to INVALID_HANDLE_VALUE when setting flag - to true. - -2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx> - - * path.c (path_conv::check): Avoid directly referencing fields of the - dev structure when it can be easily avoided. - -2012-04-05 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 14. - -2012-04-05 Corinna Vinschen <corinna@vinschen.de> - - * passwd.cc (pwdgrp::read_passwd): Fix pretty_ls entry typo contain - the required number of colons. - -2012-04-04 Christopher Faylor <me.cygwin2012@cgf.cx> - - * fhandler.h (fhandler_pty_common::bytes_available): Declare new - function. - (fhandler_pty_master::flush_to_slave): Ditto. - * fhandler_tty.cc (bytes_available): Define new function. - (fhandler_pty_common::bytes_available): Ditto. - (handler_pty_master::flush_to_slave): Ditto. - (fhandler_pty_master::process_slave_output): Call flush_to_slave () - here. Use bytes_available () rather than PeekNamedPipe. Clean up - sloppy logic. - (fhandler_pty_slave::read): Use bytes_available () rather than - PeekNamedPipe. - (fhandler_pty_slave::ioctl): Ditto. - (fhandler_pty_master::ioctl): Ditto. - (fhandler_pty_master::cleanup): Remove ancient #if 0. - * select.cc (peek_pipe): Call flush_to_slave whenever we're checking - for a pty master. - -2012-04-04 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_nodevice.cc (fhandler_nodevice::open): Convert EROFS to - ENOENT if non-existent file got opened for reading only. Explain why. - * path.cc (path_conv::check): Stick to ENOENT if file has been opened - for informational purposes only. Add to comment. - -2012-04-04 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (path_conv::check): Convert device type to FH_FS for - non-existent files on /dev, unless /dev itself doesn't exist on disk. - Add comment to explain why. - -2012-04-04 Corinna Vinschen <corinna@vinschen.de> - - * hookapi.cc (rvadelta): Compute max_size using SizeOfRawData rather - than VirtualSize. - -2012-04-04 Corinna Vinschen <corinna@vinschen.de> - - * passwd.cc (_getpass_close_fd): New static pthread cleanup handler. - (getpass): Rework to use /dev/tty in the first place. Install - _getpass_close_fd as pthread cleanup handler. Flush prompt explicitely. - Lock input and switch off signal input handling when reading password. - -2012-04-03 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 13. - 2012-04-03 Corinna Vinschen <corinna@vinschen.de> * syscalls.cc (fhandler_base::stat_fixup): Replace string comparison @@ -2077,7 +849,7 @@ 2012-02-13 Corinna Vinschen <corinna@vinschen.de> - * Makefile.in (clean): Remove non-existent regexp dir. + * Makefile.in (clean): Remove non-existant regexp dir. * collate.h: New header. (__collate_range_cmp): Declare. @@ -2354,7 +1126,7 @@ * fhandler.h (fhandler_fifo::arm): Declare new function. * fhandler_fifo.cc (fhandler_fifo::arm): Define new function. (fhandler_fifo::open): Fix handling of RDWR pipes to avoid opening a - second handle. Use arm() function to set events. + second handle. Use arm() function to set events. (fhandler_fifo::raw_read): Correctly go into "connect again logic" when we detect another writer is available. Use arm() function to set event. * pipe.cc (fhandler_pipe::create): Add more detail to debugging output. |