summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
...
* * dcrt0.cc (init_windows_system_directory): Record system_wow64_directoryChristopher Faylor2011-12-138-43/+95
| | | | | | | | | | | | | | | | | | | | | | | 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.
* * netdb.cc (open_system_file): Avoid MS-DOS path warning.Corinna Vinschen2011-12-132-1/+7
|
* * path.cc (conv_path_list): Fix a condition.Corinna Vinschen2011-12-132-25/+21
| | | | (cygwin_conv_path): Revert WIN_A conversion to current locale codeset.
* * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): CallCorinna Vinschen2011-12-134-40/+56
| | | | | | | | | 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.
* * times.cc (hires_ns::resolution): Don't return less than 1.Corinna Vinschen2011-12-132-1/+5
|
* * cygthread.h (cygthread::name): Very minor formatting tweak.Christopher Faylor2011-12-1310-36/+46
| | | | | | | | | | | | | | | | * 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.
* * fhandler_process.cc (dos_drive_mappings): Partially rewrite toCorinna Vinschen2011-12-122-76/+93
| | | | handle volumes mounted into juntion points correctly.
* * fhandler_process.cc (dos_drive_mappings::dos_drive_mappings): FullyCorinna Vinschen2011-12-122-0/+31
| | | | resolve symbolic links returned by QueryDosDeviceW. Explain why.
* * mount.cc (fs_info::update): Set has_buggy_reopen for Netapps as well.Corinna Vinschen2011-12-122-3/+7
|
* * dcrt0.cc (wow64_respawn): New static variable.Corinna Vinschen2011-12-123-59/+101
| | | | | | | | | | | | (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.
* * pipe.cc (fhandler_pipe::create): Use debug_printf to print debugging infoChristopher Faylor2011-12-122-6/+51
| | | | | | | | | 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.
* * select.cc (select_stuff::wait): Very minor formatting fix.Christopher Faylor2011-12-114-23/+22
| | | | | | | | (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.
* fix another typo in ChangeLogChristopher Faylor2011-12-101-1/+1
|
* * sigproc.h (cygwait): Delete duplicate va_start and add matching va_end.Christopher Faylor2011-12-102-1/+8
|
* Add ChangeLog entry for previous change and revert erroneously checked inChristopher Faylor2011-12-103-85/+63
| | | | changes to dcrt0.cc and init.cc
* Clarify entryChristopher Faylor2011-12-104-62/+88
|
* * exceptions.cc (ctrl_c_handler): YA in a series or reversions. Put backChristopher Faylor2011-12-103-10/+16
| | | | | | | _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.
* * dllfixdbg: Work around annoying gdb warning about missing .gnu_debuglink.Christopher Faylor2011-12-092-1/+6
|
* Rename cygWFMO to cygwait throughout and use the magic of polymorphism to "waitChristopher Faylor2011-12-0910-32/+89
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Revert erroneous checkinChristopher Faylor2011-12-091-3/+0
|
* * sigproc.cc (signal_exit): Revert reversion of 2011-12-04 change since,Christopher Faylor2011-12-093-2/+26
| | | | otherwise, you see hangs when the signal pipe is closed.
* * select.cc (cygwin_select): Fifth time is the charm.Christopher Faylor2011-12-092-3/+10
|
* * select.cc (cygwin_select): Make sure that 0 is returned when sel.wait timesChristopher Faylor2011-12-082-2/+7
| | | | out.
* * include/sys/wait.h: Add in all c++ functions.Christopher Faylor2011-12-082-2/+6
|
* * select.cc (select_stuff::wait): Temporarily disallow APCS.Christopher Faylor2011-12-082-2/+6
|
* * include/sys/wait.h: Ensure that C++ functions are only used when using C++.Christopher Faylor2011-12-082-0/+7
|
* * select.cc (cygwin_select): Make sure that poll is called when appropriate.Christopher Faylor2011-12-082-25/+22
|
* * dll_init.cc (dll_dllcrt0): Don't try to initialize dll data if we'reChristopher Faylor2011-12-085-13/+18
| | | | | | | | | | dynamically loaded since fork() doesn't work in that scenario anyway. (dll_dllcrt0_1): Don't accommodate dynamically loaded dlls. * exceptions.cc (ctrl_c_handler): Don't lock the process; there's too much risk of deadlock. * sigproc.cc (_cygtls::remove_wq): Don't try to remove anything from the waitq if there is obviously nothing there. * strace.cc (strace::activate): Allow stracing dynamically loaded cygwin1.dll.
* * fhandler_termios.cc (tty_min::kill_pgrp): Don't send __SIGSETPGRP sinceChristopher Faylor2011-12-082-2/+7
| | | | presumably we are already initialized.
* * select.cc (cygwin_select): Add common introducer and leaver debug output.Christopher Faylor2011-12-072-9/+23
| | | | (select_stuff::poll): Remove unneeded debugging.
* * exceptions.cc (ctrl_c_handler): Remove _my_tls.remove since it can causeChristopher Faylor2011-12-072-2/+5
| | | | deadlocks during exec and will eventually be handled anyway.
* * spawn.cc (child_info_spawn::worker): Add CREATE_BREAKAWAY_FROM_JOBCorinna Vinschen2011-12-072-1/+16
| | | | to all spawned processes. Explain why.
* * fhandler_fifo.cc (fhandler_fifo::wait): Fix stupid typo and actually wait forChristopher Faylor2011-12-072-1/+6
| | | | the handle.
* * sigproc.cc (close_my_readsig): New function.Christopher Faylor2011-12-052-11/+17
| | | | | | (_cygtls::signal_exit): Close my_readsig via close_my_readsig(), avoiding communication with the signal pipe. (wait_sig): Close my_readsig via close_my_readsig().
* * mmap.cc (mlock): Replace LOCK_VM_IN_WSL with correct MAP_PROCESS.Corinna Vinschen2011-12-053-87/+108
| | | | | | | | (munlock): Ditto. * ntdll.h: Rearrange to have all preprocessor definitions at the start of the file. Add comments to each definition block. (MAP_PROCESS): Rename from LOCK_VM_IN_WSL. (MAP_SYSTEM): Rename from LOCK_VM_IN_RAM.
* correct name of functionChristopher Faylor2011-12-041-1/+1
|
* * sigproc.cc (cygWFMO): Don't assume that cancellable event is alwaysChristopher Faylor2011-12-047-31/+26
| | | | | | | | | | | | available. * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::waitforspace): Use cygWFMO instead of WaitForMultipleObjects. (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. * fhandler_tty.cc (fhandler_pty_slave::read): Ditto. * select.cc (cygwin_select): Ditto for degenerate case.
* * sigproc.h (cygWFMO): Move inside "INSIDE_CYGWIN" #ifdef.Christopher Faylor2011-12-042-15/+19
|
* * exceptions.cc (exception::handle): Drop abbreviation for "exception" since IChristopher Faylor2011-12-048-31/+82
| | | | | | | | | | | | | | | | | | | | | never remember what it stands for. (sig_handle_tty_stop): Remove obsolete call to sig_handle_tty_stop. (_cygtls::call_signal_handler): Rework to grab signal information from _main_tls if none is set for _my_tls. Try harder to keep thread locked. (reset_signal_arrived): Delete. * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Use new cygWFMO call to wait for an event + standard cygwin stuff. Modify debug output to acccomodate new function. * fhandler_console.cc (fhandler_console::read): Replace WaitForMultipleObjects with cygWFMO. * fhandler_socket.cc (get_inet_addr): Add comment. * gendef (_sigdelayed): Remove call to reset_signal_arrived. * sigproc.cc (_cygtls::signal_exit): Don't close my_readsig here unless we're in the signal thread. (create_signal_arrived): Create signal_arrived as auto-reset so that only one thread is woken when a signal arrives. * sigproc.h (cygWFMO): New function. (reset_signal_arrived): Delete declaration.
* * mmap.cc (mlock): Add standard syscall return value debugging output.Christopher Faylor2011-12-034-87/+92
| | | | | | | | | | | | (munlock): Ditto. (posix_madvise): Ditto. * signal.cc: Remove obsolete sigcatchers stuff throughout. (sigaction_worker): Add function name parameter and use it to show standard syscall return value debugging output. Also add fault protection. (sigaction): Accommodate extra argument to sigaction_worker. (siginterrupt): Ditto. * syscalls.cc (read): Remove obsolete sigcatchers stuff. (readv): Ditto.
* fix incorrectly named file in old ChangeLog entryChristopher Faylor2011-12-031-1/+1
|
* * mmap.cc (mlock): Drop requesting SE_LOCK_MEMORY_PRIVILEGE. DropCorinna Vinschen2011-12-032-16/+9
| | | | | | outdated comment. Call NtLockVirtualMemory with LOCK_VM_IN_WSL flag. (munlock): Drop requesting SE_LOCK_MEMORY_PRIVILEGE. Call NtUnlockVirtualMemory with LOCK_VM_IN_WSL flag.
* Throughout, remove extra space after function name from debugging output.Christopher Faylor2011-12-0342-188/+224
| | | | | | | | | | | | | | | Throughout, change syscalls to report on return values using new %R format option. * smallprint.cc (__small_vsprintf): Add parsing for %R to report on return values and possible errno from syscalls. * errno.cc (errmap): Add PRIVILEGE_NOT_HELD. * fhandler_tty.cc (fhandler_pty_master::setup): When creating a thread use shorter name to reduce debuggging output. * select.cc (start_thread_pipe): Ditto. (start_thread_serial): Ditto. (start_thread_socket): Ditto. (start_thread_mailslot): Ditto. * sigproc.cc (talktome): Ditto.
* * fhandler.cc (fhandler_base::open): Fix comment a bit more.Corinna Vinschen2011-12-032-1/+5
|
* * fhandler.cc (fhandler_base::open): Fix typos in comment.Corinna Vinschen2011-12-032-3/+7
|
* * path.cc (conv_path_list): Take cygwin_conv_path_t as third parameter.Corinna Vinschen2011-12-023-32/+87
| | | | | | | | | Allow all types of CCP conversions. Accommodate throughout. (cygwin_conv_path): Use current ANSI or OEM codepage for WIN_A conversions, depending on current file API codepage setting. (cygwin_conv_path_list): Allow all CCP conversion types. * include/sys/cygwin.h (CCP_CONVTYPE_MASK): Add to cygwin_conv_path_t enum for convenience.
* * sigproc.cc (get_proc_lock): Remove extra NULL check. Return false onChristopher Faylor2011-11-292-9/+9
| | | | failure.
* * sync.cc: Fix comment.Christopher Faylor2011-11-293-3/+11
| | | | | * dll_init.cc (dll_list::reserve_space): Use %p rather than %lx to show reserved space.
* * sigproc.cc (remove_proc): Don't terminate the currently executing thread.Christopher Faylor2011-11-299-136/+219
|
* fix older descriptionChristopher Faylor2011-11-291-2/+28
|