Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
AgeCommit message (Collapse)Author
2011-12-19 * syscalls.cc (rename): Fix typo in comment. Fix condition to handleCorinna Vinschen
the case oldpath is no .lnk symlink and newpath points to an existing .lnk symlink or .exe file and no explicit .lnk suffix has been given in oldpath. Add a comment to explain.
2011-12-19 * dcrt0.cc (dll_crt0_0): Check for wincap.wow64_has_secondary_stackCorinna Vinschen
rather than for wincap.is_wow64. Accommodate name change from wow64_has_64bit_parent to wow64_needs_stack_adjustment. Align comment. (_dll_crt0): Ditto. * wincap.h (wincaps::wow64_has_secondary_stack): New element. * wincap.cc: Implement above element throughout. (wincapc::init): Set wow64_has_secondary_stack to false on non-64 bit systems. * wow64.cc (wow64_needs_stack_adjustment): Rename (hopefully the last time) from wow64_has_64bit_parent. (wow64_eval_expected_main_stack): Fix comment to reflect real life. (wow64_test_for_64bit_parent): Fix comment. * wow64.h (wow64_needs_stack_adjustment): Accommodate new name.
2011-12-19clarify entryChristopher Faylor
2011-12-18* fhandler.cc (fhandler_base::close): Move setting isclosed() from here toChristopher Faylor
closed(). (fhandler_base_overlapped::close): Correct comment. (fhandler_base_overlapped::destroy_overlapped): Signal overlapped event before closing it to potentially wake up a waiting thread. (fhandler_base_overlapped::wait_overlapped): Expand setting of err when closed to encompass non-signal event. Test for a cancel event before making nonblocking decisions. * syscalls.cc (close): Set closed flag here so that any concurrently executing functions will be notified ASAP.
2011-12-18Clean up whitespace.Christopher Faylor
2011-12-17 * dcrt0.cc (_dll_crt0): Fix formatting.Corinna Vinschen
2011-12-17 * wow64.cc (wow64_revert_to_original_stack): Fix comment.Corinna Vinschen
* wow64.h (wow64_respawn_process): Declare noreturn.
2011-12-17* exceptions.cc (set_signal_mask): Remove useless debugging output.Christopher Faylor
* fhandler.cc (fhandler_base::write): Ditto. (fhandler_base_overlapped::close): Cancel any ongoing I/O before closing. * syscalls.cc (write): Default to always reporting all writes in strace output via syscall_printf. * wait.cc (wait4): Fix debugging output. Use standard syscall leaver output.
2011-12-17Fix formatting. Fix typo.Christopher Faylor
2011-12-17Implement fhandler reference counting.Christopher Faylor
* cygheap.h (cygheap_fdmanip::release): Make virtual. (cygheap_fdnew::~cygheap_fdnew): New destructor increments reference count when fd has been allocated. (cygheap_fdget::fh): New (old?) field. (cygheap_fdget::cygheap_fdget): Increment reference count when we've found an active fd. Set fh appropriately. (cygheap_fdget::~cygheap_fdget): Decrement reference count when appropriate. Delete fh if reference count goes to zero. (cygheap_fdget::release): New function. Do more bookkeping on release. * dtable.cc (dtable::release): Change from void to boolean return. Only delete the fhandler when its reference count is <= 0 (this should be a fairly unusual case). Return true if fhandler has been deleted. (cygwin_attach_handle_to_fd): Increment reference count when fh is assigned. (dtable::init_std_file_from_handle): Ditto. * dtable.h (dtable::release): Change return to boolean. * fhandler.cc (fhandler_base::fhandler_base): Set new isclosed flag to false. Set _refcnt to zero. (fhandler_base::close): Simplify paranoid debugging output. Set new isclosed() flag. (fhandler_base_overlapped::wait_overlapped): Use isclosed() flag to avoid querying the exception handle. * fhandler.h (fhandler_base::_refcnt): New field. (fhandler_base::refcnt): New function. (fhandler_base::isclosed): Implement. (fhandler_base::fhandler_base): Set isclosed to false. * syscalls.cc: Remove space after function before parentheses for several strace printfs. (dup): Add standard strace "leaver" code. (dup2): Ditto. (dup3): Ditto. (remove): Ditto. (getpid): Ditto. (getppid): Ditto. (lseek64): Fix strace debugging to correctly use %R. * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Avoid sending signals to other processes if we're debugging since it can cause a deadlock with the calling debugger. * exceptions.cc (_cygtls::call_signal_handler): Add debugging-only strace output.
2011-12-16 * dcrt0.cc (child_info_fork::alloc_stack): Correctly check if theCorinna Vinschen
parent stack fits into the child stack. Align comment. * wow64.cc (wow64_eval_expected_main_stack): New function to fetch expected addresses of main thread stack from PE/COFF image header values. (wow64_test_for_64bit_parent): Fix comment. Check current stack against real expected main thread stack addresses. (wow64_revert_to_original_stack): Fix and add comments. Check memory against real expected main thread stack addresses. Use orignal stack if reserved area is >= 256K.
2011-12-16* gendef (sigdelayed): Remember to pop all of the saved registers.Christopher Faylor
(sigreturn): Add "leave" label.
2011-12-16* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Fix unresolvedChristopher Faylor
access of wores in successful situations.
2011-12-16 * Makefile.in (DLL_OFILES): Add wow64.o.Corinna Vinschen
* dcrt0.cc (CYGWIN_GUARD): Drop execute permission for stack, it's not used for stacks by the OS either. (child_info_fork::alloc_stack_hard_way): Ditto. (child_info_fork::alloc_stack): Don't alloc_stack_hard_way under WOW64 if forked from a 64 bit parent. Set child's StackBase to parent's StackBase. Add comments to explain why. (wow64_respawn): Move to wow64.cc. (wow64_started_from_native64): Move to wow64.cc. (respawn_wow64_process): Move to wow64.cc. (dll_crt0_0): Drop wow64_test_stack_marker and move stack test into wow64_test_for_64bit_parent function. Don't return early if WOW64 process has been started from native 64 bit process. (_dll_crt0): Implement moving stack for WOW64 processes started from native 64 bit process. * wow64.cc: New file. (wow64_has_64bit_parent): Rename from wow64_respawn. (wow64_test_for_64bit_parent): Rename from wow64_started_from_native64. Change comment. (wow64_revert_to_original_stack): New function. (wow64_respawn_process): Rename from respawn_wow64_process for symmetry. * wow64.h: New file.
2011-12-16* exceptions.cc (_cygtls::call_signal_handler): Fix debugging to not go toChristopher Faylor
console. * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Add temporary kludge to work around problem of make closing a handler while it is being read. * gendef (sigdelayed): Don't call a function if sig has been cleared. * sigproc.h (cygwait): Simplify slightly.
2011-12-15 Don't leave Windows 2000 behind.Corinna Vinschen
* autoload.cc (GetSystemWow64DirectoryW): Define. (GetVolumePathNamesForVolumeNameW): Define. * fhandler_process.cc (get_volume_path_names_for_volume_name): New static function to workaround missing GetVolumePathNamesForVolumeNameW function in Windows 2000. (dos_drive_mappings::dos_drive_mappings): Call get_volume_path_names_for_volume_name instead of GetVolumePathNamesForVolumeNameW.
2011-12-14Factor common code from subdirectory makefiles into Makefile.comm.inKeith Marshall
2011-12-14Prepare for factoring out common makefile code.Keith Marshall
2011-12-14add missing changeChristopher Faylor
2011-12-14* dcrt0.cc (init_windows_system_directory): Record system_wow64_directoryChristopher Faylor
information. * exceptions.cc (_cygtls::inside_kernel): Modernize comment. Consider executing a DLL from the Wow64 directory as being "in the kernel". (_cygtls::call_signal_handler): For now, only deal with main_tls signals if main_tls is known to be executing in the cygwin DLL. To more closely emulate linux, consider the operation to be restartable if not executing in the main thread. * globals.cc (windows_system_directory): Remove NO_COPY. (windows_system_directory_length): Ditto. (system_wow64_directory): New variable. (system_wow64_directory_length): Ditto. * select.cc (cygwin_select): Don't issue a EINTR on non-main threads since that seems to be what Linux does. Add missing break to signal case/switch. (select_stuff::wait): Don't issue a EINTR on non-main threads since that seems to be what Linux does. Remove now-unneeded accommodation for WAIT_IO_COMPLETION. Add a comment. * sigproc.h (cygwait): Ditto. Don't return if signal_received noticed and it's not the main thread. * signal.cc (sigprocmask): Add standard syscall debug stuff. * thread.cc (pthread_sigmask): Ditto.
2011-12-13 * netdb.cc (open_system_file): Avoid MS-DOS path warning.Corinna Vinschen
2011-12-13 * path.cc (conv_path_list): Fix a condition.Corinna Vinschen
(cygwin_conv_path): Revert WIN_A conversion to current locale codeset.
2011-12-13 * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): CallCorinna Vinschen
file_get_fnoi instead of NtQueryInformationFile. * path.cc (file_get_fnoi): New helper function to collect a FILE_NETWORK_OPEN_INFORMATION block. (symlink_info::check): Call file_get_fnoi rather than NtQueryInformationFile to collect a FILE_NETWORK_OPEN_INFORMATION block. * path.h (file_get_fnoi): Declare.
2011-12-13 * times.cc (hires_ns::resolution): Don't return less than 1.Corinna Vinschen
2011-12-13* cygthread.h (cygthread::name): Very minor formatting tweak.Christopher Faylor
* exceptions.cc (_cygtls::call_signal_handler): Add paranoid debugging output. * sigproc.h (cygwait): Call signal handler when signal is detected and loop as appropriate. * fhandler.h (fhandler_base_overlapped::wait_return): Remove overlapped_signal. * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Remove restartable signal accommodations in light of cygwait improvements. (fhandler_base_overlapped::raw_read): Remove now-obsolete signal loop behavior. (fhandler_base_overlapped::raw_write): Ditto. * fhandler_console.cc (fhandler_console::read): Ditto. * fhandler_serial.cc (fhandler_serial::raw_read): Ditto. (fhandler_serial::raw_write): Ditto. * fhandler_tty.cc (fhandler_pty_slave::read): Ditto. * ioctl.cc (ioctl): Add standard syscall introducer and leaver debug output.
2011-12-13* faq-using.xml: Remove obsolete entry about the standard console window.Christopher Faylor
* new-features.sgml: Remove obsolete entry which references cygwin.bat. * setup-net.sgml: Clarify new shortcut behavior for the "Cygwin Terminal".
2011-12-13 * fhandler_process.cc (dos_drive_mappings): Partially rewrite toCorinna Vinschen
handle volumes mounted into juntion points correctly.
2011-12-13Correct makefile error; remove unnecessary FLAGS_TO_PASS macroKeith Marshall
2011-12-12 * fhandler_process.cc (dos_drive_mappings::dos_drive_mappings): FullyCorinna Vinschen
resolve symbolic links returned by QueryDosDeviceW. Explain why.
2011-12-12 * mount.cc (fs_info::update): Set has_buggy_reopen for Netapps as well.Corinna Vinschen
2011-12-12 * dcrt0.cc (wow64_respawn): New static variable.Corinna Vinschen
(wow64_started_from_native64): New function to check if a WOW64 process got started from a native 64 bit process. (respawn_wow64_process): New function to respawn process. (dll_crt0_0): When started from a native parent, check if parent is a 64 bit process. If so, return early. (_dll_crt0): Respawn WOW64 process here if required. * init.cc (respawn_wow64_process): Remove. (dll_entry): Rename wow64_test_stack_marker to test_stack_marker. Drop WOW64 test here.
2011-12-12* pipe.cc (fhandler_pipe::create): Use debug_printf to print debugging infoChristopher Faylor
since this isn't a "syscall". (pipe_worker): New function created from _pipe(). (_pipe): Use pipe_worker to create a pipe. Use standard syscall strace reporting on exit. (pipe): Ditto. (pipe2): Ditto.
2011-12-11* select.cc (select_stuff::wait): Very minor formatting fix.Christopher Faylor
(peek_windows): Report on HWND handle used in queries. * select.h: Update copyright. * sigproc.h (cygwait): Eliminate multi-argument variety since more general implementation may cause odd problems in select. Also force to always be inline.
2011-12-11Correct defective configure checkinKeith Marshall
2011-12-10fix another typo in ChangeLogChristopher Faylor
2011-12-10* sigproc.h (cygwait): Delete duplicate va_start and add matching va_end.Christopher Faylor
2011-12-10Add ChangeLog entry for previous change and revert erroneously checked inChristopher Faylor
changes to dcrt0.cc and init.cc
2011-12-10Clarify entryChristopher Faylor
2011-12-10Build system clean-up (phase 1)Keith Marshall
2011-12-10* exceptions.cc (ctrl_c_handler): YA in a series or reversions. Put backChristopher Faylor
_my_tls.remove along with a comment. (sigpacket::process): Remove code which now causes a gdb deadlock. * sigproc.cc (_cygtls::signal_exit): Signal debugger with signal number earlier.
2011-12-09* dllfixdbg: Work around annoying gdb warning about missing .gnu_debuglink.Christopher Faylor
2011-12-09Rename cygWFMO to cygwait throughout and use the magic of polymorphism to "waitChristopher Faylor
for stuff". * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Use simplified arg form of cygwait. * fhandler_console.cc (fhandler_console::read): Ditto. * fhandler_audio.cc (fhandler_dev_dsp::Audio_out::waitforspac): Ditto. (fhandler_dev_dsp::Audio_in::waitfordata): Ditto. * fhandler_fifo.cc (fhandler_fifo::wait): Ditto. * fhandler_serial.cc (fhandler_serial::raw_read): Ditto. (fhandler_serial::raw_write): Ditto. * select.cc (cygwin_select): Ditto. * sigproc.h (cygwait): Rename from cygWFMO. Define two argument and single argument forms of this function. * fhandler_tty.cc (fhandler_pty_slave::open): Use method to query if tty is open. (fhandler_pty_slave::read): Send SIGHUP when master is detected as closed. (fhandler_pty_common::close): Close input_available_event in callers since master may need to signal it first. (fhandler_pty_master::close): Lie and set input_available_event when closing, then close input_available_event. (fhandler_pty_slave::close): Close input_available_event explicitly here. * tty.h (tty::is_master_closed): Declare new method.
2011-12-09Revert erroneous checkinChristopher Faylor
2011-12-09* sigproc.cc (signal_exit): Revert reversion of 2011-12-04 change since,Christopher Faylor
otherwise, you see hangs when the signal pipe is closed.
2011-12-09* select.cc (cygwin_select): Fifth time is the charm.Christopher Faylor
2011-12-09* select.cc (cygwin_select): Make sure that 0 is returned when sel.wait timesChristopher Faylor
out.
2011-12-08* include/sys/wait.h: Add in all c++ functions.Christopher Faylor
2011-12-08* select.cc (select_stuff::wait): Temporarily disallow APCS.Christopher Faylor
2011-12-08* include/sys/wait.h: Ensure that C++ functions are only used when using C++.Christopher Faylor
2011-12-08* select.cc (cygwin_select): Make sure that poll is called when appropriate.Christopher Faylor