summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * autoload.cc (EnumProcessModules): Remove.Corinna Vinschen2011-05-114-17/+57
| | | | | | | | | | * dlfcn.cc (dlopen): Make sure errno is set if an error occurs. (dlsym): Rewrite using RtlQueryProcessDebugInformation instead of EnumProcessModules. * ntdll.h (struct _DEBUG_MODULE_ARRAY): Define. (RtlCreateQueryDebugBuffer): Declare. (RtlDestroyQueryDebugBuffer): Declare. (RtlQueryProcessDebugInformation): Declare.
* * autoload.cc (GetModuleFileNameExW): Remove.Corinna Vinschen2011-05-112-2/+5
| | | | * autoload.cc (GetModuleInformation): Remove.
* * autoload.cc (QueryWorkingSet): Remove.Corinna Vinschen2011-05-112-1/+4
|
* * fhandler_process.cc (format_process_maps): Rework to reportCorinna Vinschen2011-05-113-69/+246
| | | | | | | | | all mapped address space in a process (committed or reserved), identifying the nature of the mapping (mapped file/image, heap, shared memory) when possible. (dos_drive_mappings): New helper classes. (heap_info): Ditto. * ntdll.h (struct _MEMORY_SECTION_NAME): Define.
* * autoload.cc (GetProcessMemoryInfo): Remove.Corinna Vinschen2011-05-113-8/+14
| | | | | * resource.cc (fill_rusage): Call NtQueryInformationProcess rather than GetProcessMemoryInfo to drop a psapi dependency.
* * fhandler_socket.cc (get_inet_addr): Rearrange for better readability.Corinna Vinschen2011-05-113-84/+126
| | | | | | | | | | | | | Make waiting loop interruptible and cancelable. Check for SYSTEM DOS flag before reading the file. Change return value to return 0 on success, SOCKET_ERROR on failure. (fhandler_socket::bind): Only set R/O DOS flag on filesystems not supporting ACLs. (fhandler_socket::connect): Accommodate changed return values from get_inet_addr. Use SOCKET_ERROR instead of -1. (fhandler_socket::sendto): Accommodate changed return values from get_inet_addr. * syslog.cc (connect_syslogd): Ditto.
* * security.cc (check_registry_access): Handle missingChristian Franke2011-05-102-1/+11
| | | | security descriptor of HKEY_PERFORMANCE_DATA.
* * lc_msg.h: Regenerate.Corinna Vinschen2011-05-102-1/+12
|
* * libc/locale/lmessages.c (_C_messages_locale): Add missing comma.Corinna Vinschen2011-05-102-1/+5
|
* * fhandler_proc.cc (format_proc_uptime): Don't call GetSystemInfo.Corinna Vinschen2011-05-107-24/+34
| | | | | | | | | | | | | | | Fetch CPU count from wincap. (format_proc_stat): Ditto. * globals.cc (system_info): Move to wincap. * heap.cc (heap_init): Fetch page size from wincap. * syscalls.cc (getpagesize): Fetch allocation granularity from wincap. (getsystempagesize): Fetch page size from wincap. * wincap.cc (wincap_2003): Default is_server to false. (wincapc::init): Call GetSystemInfo here. Always set is_server value. * wincap.h (class wincapc): Add system_info as private member. (wincapc::cpu_count): New public method. (wincapc::page_size): Ditto. (wincapc::allocation_granularity): Ditto.
* * cygwinenv.sgml: Move "forkchunk:xxx" to the removed options section.Corinna Vinschen2011-05-102-10/+14
| | | | Change text accordingly.
* * environ.cc (set_chunksize): Remove.Corinna Vinschen2011-05-105-27/+12
| | | | | | | | | (parse_thing): Remove forkchunk entry. * fork.cc (child_copy): Drop handling external chunksize setting. * wincap.cc: Througout, drop chunksize. (wincapc::set_chunksize): Remove. * wincap.h (struct wincaps): Drop chunksize and declaration of set_chunksize.
* * Makefile.in: Don't override CC.Corinna Vinschen2011-05-104-3/+11
| | | | | * cyglsa.c: Don't include wchar.h. Declare wcscpy and wcslen instead. * cyglsa64.dll: Rebuild.
* * setup2.sgml (setup-env-ov): Make sure everybody knows that theCorinna Vinschen2011-05-102-6/+12
| | | | CYGWIN settings are just an example.
* 2011-05-08 Doug Kwan <dougkwan@google.com>Doug Kwan2011-05-095-2/+19
| | | | | | | | | | | | Merge from gcc: 2011-05-08 Doug Kwan <dougkwan@google.com> * configure.ac: Propagate LDFLAGS_FOR_TARGET. * configure: Regenerated. * Makefile.tpl (LDFLAGS_FOR_TARGET): Use LDFLAGS_FOR_TARGET value from configure. * Makefile.in: Regenerated.
* 2011-05-09 Paul Brook <paul@codesourcery.com>Paul Brook2011-05-092-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bfd/ * elf32-tic6x.c (is_tic6x_elf_unwind_section_name, elf32_tic6x_fake_sections): New functions. (elf_backend_fake_sections): Define. gas/ * config/tc-tic6x.c (streq): Define. (tic6x_get_unwind): New. (s_tic6x_cantunwind, s_tic6x_handlerdata, s_tic6x_endp, s_tic6x_personalityindex, s_tic6x_personality): New functions. (md_pseudo_table): Add "endp", "handlerdata", "personalityindex", "personality" and "cantunwind". (tic6x_regname_to_dw2regnum, tic6x_frame_initial_instructions, tic6x_start_unwind_section, tic6x_unwind_frame_regs, tic6x_pop_rts_offset_little, tic6x_pop_rts_offset_big, tic6x_unwind_reg_from_dwarf, tic6x_flush_unwind_word, tic6x_unwind_byte, tic6x_unwind_2byte, tic6x_unwind_uleb, tic6x_cfi_startproc, output_exidx_entry, tic6x_output_unwinding, tic6x_cfi_endproc): New. * config/tc-tic6x.h (TIC6X_NUM_UNWIND_REGS): Define. (tic6x_unwind_info): New. (tic6x_segment_info_type): Add marked_pr_dependency, unwind and text_unwind. (TARGET_USE_CFIPOP, tc_regname_to_dw2regnum, tc_cfi_frame_initial_instructions, DWARF2_DEFAULT_RETURN_COLUMN, DWARF2_CIE_DATA_ALIGNMENT, tc_cfi_startproc, tc_cfi_endproc, tc_cfi_section_name): Define. * doc/c-tic6x.texi: Document new unwinding directives. * dw2gencfi.c (tc_cfi_startproc, tc_cfi_endproc): Add default definitions. (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset, CFI_return_column, CFI_rel_offset, CFI_escape, CFI_signal_frame, CFI_val_encoded_addr): Move to dw2gencfi.h. (CFI_EMIT_target): Define. (dot_cfi_sections): Check tc_cfi_section_name. (dot_cfi_startproc): Use tc_cfi_startproc. (dot_cfi_endproc): Use tc_cfi_endproc. * dw2gencfi.h (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset, CFI_return_column, CFI_rel_offset, CFI_escape, CFI_signal_frame, CFI_val_encoded_addr): Move to here from dw2gencfi.c. gas/testsuite: * gas/tic6x/unwind-1.d: New test. * gas/tic6x/unwind-1.s: New test. * gas/tic6x/unwind-2.d: New test. * gas/tic6x/unwind-2.s: New test. * gas/tic6x/unwind-3.d: New test. * gas/tic6x/unwind-3.s: New test. * gas/tic6x/unwind-bad-1.d: New test. * gas/tic6x/unwind-bad-1.s: New test. * gas/tic6x/unwind-bad-1.l: New test. * gas/tic6x/unwind-bad-2.d: New test. * gas/tic6x/unwind-bad-2.s: New test. * gas/tic6x/unwind-bad-2.l: New test. include/ * elf/tic6x.h (ELF_STRING_C6000_unwind, ELF_STRING_C6000_unwind_info, ELF_STRING_C6000_unwind_once, ELF_STRING_C6000_unwind_info_once): Define.
* * new-features.sgml (ov-new1.7.10): Document clock_settime.Yaakov Selkowitz2011-05-092-2/+7
|
* * times.cc (settimeofday): Add EFAULT handler.Yaakov Selkowitz2011-05-095-7/+53
| | | | | | | | | | | | | | Set errno to EINVAL if tv.tv_nsec is invalid, and to EPERM if SetSystemTime fails. Return -1 in case of failure, all for compatibility with BSD and Linux. (clock_settime): New function. * cygwin.din (clock_settime): Export. * posix.sgml (std-susv4): Add clock_settime. Move clock_setres from here... (std-deprec): ... to here. (std-notes): Correct limitation of clock_setres to only CLOCK_REALTIME. Add limitation of clock_settime to only CLOCK_REALTIME. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * registry.cc (get_registry_hive_path): Change system_printf toCorinna Vinschen2011-05-072-4/+10
| | | | | debug_printf. (load_registry_hive): Ditto.
* * fhandler.h (fhandler_base::close_with_arch): Make non-virtual.Christopher Faylor2011-05-062-2/+8
| | | | (fhandler_base::open_fs): Move closer to it's close counterpart.
* * fhandler.cc (fhandler_base::dup): Avoid duping a handle when an fhandler hasChristopher Faylor2011-05-063-5/+14
| | | | | | | an archetype. * fhandler_console.cc (fhandler_console::invisible_console): Move to the top. (fhandler_console::set_close_on_exec): Don't set close-on-exec on handle since it's an archetype and you don't know how many things could be using it.
* * fhandler.h (fhandler_dev_dsp): Cosmetic change.Christopher Faylor2011-05-064-3/+16
| | | | | | | * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Put back Sleep(10) for tty_master case. * sigproc.cc (stopped_or_terminated): Don't consider a pid which has been reaped to be terminated.
* * new-features.sgml (ov-new1.7.10): Document sysinfo.Yaakov Selkowitz2011-05-062-1/+5
|
* * sysconf.cc (sysinfo): New function.Yaakov Selkowitz2011-05-066-3/+129
| | | | | | | | * cygwin.din (sysinfo): Export. * posix.sgml (std-gnu): Add sysinfo. * include/sys/sysinfo.h (struct sysinfo): Define. (sysinfo): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * libc/minires-os-if.c (get_dns_info): Drop printing uninitializedCorinna Vinschen2011-05-062-1/+6
| | | | value of dwRetVal in debug output.
* * fhandler.h (fhandler_socket::read): Declare.Corinna Vinschen2011-05-065-54/+135
| | | | | | | | | | | | | | (fhandler_socket::write): Declare. * fhandler_procsys.cc (fhandler_procsys::read): Add FIXME comment. (fhandler_procsys::write): Ditto. * fhandler_socket.cc (fhandler_socket::read): New method. (fhandler_socket::write): New method. * syscalls.cc: Rearrange order of read/write functions. (read): Call fhandler read method directly instead of just readv. (readv): Remove EINTR loop. This is done in all affected fhandler's now. (write): Call fhandler write method directly instead of just writev. Fix debug output.
* * cygheap.cc (cygheap::close_ctty): Close ctty via close_with_arch().Christopher Faylor2011-05-0514-406/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * debug.cc (close_handle): Call debugger on failure. * devices.in (device::tty_to_real_device): Delete. * devices.h (device::tty_to_real_device): Ditto. * devices.cc: Regenerate. * dtable.cc: Delete old ifdef'ed vfork code. (dtable::release): Don't handle archetype here. (dtable::init_std_file_from_handle): Consolidate console tests. Generate major/minor for tty ASAP. Fix incorrect setting of DEV_TTYS* for serial. (fh_alloc): New function derived from build_fh_pc. Pass current tty when building tty. (build_pc_pc): Use fh_alloc to create. Set name from fh->dev if appropriate. Generate an archetype or point to one here. (dtable::dup_worker): Deal with archetypes. Rely on = operator copying whole class rather than just fhandler_base. (dtable::fixup_after_exec): Call close_with_arch to handle closing of fhandlers with archetypes. * fhandler.cc (fhandler_base::operator =): Call memcpy with fhandler's size() rather than sizeof fhandler_base. (fhandler_base::open_with_arch): New function. Handles opening of fhandler's with archetypes, dealing with usecounts, etc. (fhandler_base::close_with_arch): Ditto for close. * fhandler.h: Many changes for archetypes. (fhandler_base::set_name): Set both normalized path and regular path. (fhandler_base::open_with_arch): New function. (fhandler_base::open_setup): Ditto. (fhandler_base::use_archetype): Ditto. (fhandler_base::_archetype_usecount): Ditto. (fhandler_*::size): Ditto. (fhandler_dev_tape::open): Remove virtual decoration. (fhandler_console::use_archetype): New function. Return true. (fhandler_console::open_setup): New function. (fhandler_console::dup): Delete. (fhandler_tty_slave::fhandler_tty_slave): Redeclare to take an argument. (fhandler_tty_slave::use_archetype): New function. Return true. (fhandler_tty_slave::cleanup): New function. (fhandler_pty_master::use_archetype): New function. Return true. (fhandler_pty_master::cleanup): New function. (fhandler_pty_master::is_tty_master): New function. Return false. (fhandler_tty_master::is_tty_master): New function. Return true. (fhandler_dev_dsp::fhandler_dev_dsp): New function. Return true. (report_tty_counts): Only report on archetype's usecount if there is one. * fhandler_console.cc (fhandler_console::get_tty_stuff): Remove handling of setsid, set_ctty, set_flags, and manage_console_count. (fhandler_console::open_setup): New function. Implement functionality removed from get_tty_stuff. (fhandler_console::dup): Delete. (fhandler_console::output_tcsetattr): Set errno on error. (fhandler_console::fhandler_console): Set device early. (fhandler_console::init): Use open_with_arch to open console handles. (fhandler_console::fixup_after_fork_exec): Nuke most of the stuff for dealing with console handles. * fhandler_dsp.cc (fhandler_dev_dsp::open): Remove archetype handling. (fhandler_dev_dsp::write): Ditto. (fhandler_dev_dsp::read): Ditto. (fhandler_dev_dsp::close): Ditto. (fhandler_dev_dsp::dup): Ditto. (fhandler_dev_dsp::ioctl): Ditto. (fhandler_dev_dsp::fixup_after_fork): Ditto. (fhandler_dev_dsp::fixup_after_exec): Ditto. * fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Add a little more debugging. (fhandler_tty_common::__release_output_mutex): Ditto. (fhandler_pty_master::process_slave_output): Ditto. Don't do signal handling or pthread_cancel handling in the tty master thread. (process_output): Minor reorg. (fhandler_tty_slave::fhandler_tty_slave): Set device based on new ntty argument. (fhandler_tty_slave::open): Remove archetype handling. Move some processing into open_setup(). (fhandler_tty_slave::open_setup): New function. (fhandler_tty_slave::cleanup): New function. (fhandler_tty_slave::close): Remove archetype handling. Move some processing into cleanup(). (fhandler_tty_slave::init): Rename argument from f to h. Open device using open_with_arch(). Remove archetype handling. (fhandler_pty_master::dup): Ditto. (fhandler_pty_master::open): Ditto. (fhandler_pty_master::close): Ditto. Move some handling to cleanup(). (fhandler_pty_master::cleanup): New function. (fhandler_tty_master::init_console): Give unique name to captive console fhandler. * pinfo.cc (_pinfo::set_ctty): Rename argument from arch to fh. Eliminate archetype assumption. * syscalls.cc (close_all_files): Use close_with_arch for closing. (open): Use open_with_arch() rather than open(). (close): Use close_with_arch() rather than close().
* * pinfo.h (class push_process_state): New class to push a process stateCorinna Vinschen2011-05-055-19/+73
| | | | | | | | | | | | | | flag temporarily into myself->process_state. * fhandler_console.cc (fhandler_console::read): Add push_process_state handler. (fhandler_console::write): Call bg_check from here. Add push_process_state handler. * fhandler_tty.cc (fhandler_tty_slave::write): Ditto. (fhandler_tty_slave::read): Ditto. (fhandler_pty_master::write): Ditto. (fhandler_pty_master::read): Ditto. * syscalls.cc (readv): Remove bg_check call and setting process state. (writev): Ditto.
* * syscalls.cc (readv): Add myfault handler. Don't check repeatedlyCorinna Vinschen2011-05-052-34/+29
| | | | | open state of file handler. Streamline loop. (writev): Add myfault handler.
* * fhandler.cc (fhandler_base_overlapped::raw_read): Rename fromChristopher Faylor2011-05-056-40/+39
| | | | | | | | | | | | | | | | | | | read_overlapped. (fhandler_base_overlapped::raw_e): Rename from write_overlapped. * fhandler.h (fhandler_*::raw_read): Add reparm decoration. (fhandler_*::raw_write): Ditto. (fhandler_base_overlapped::raw_read): Rename from read_overlapped. (fhandler_base_overlapped::raw_write): Rename from write_overlapped. (fhandler_pipe::raw_read): Delete. (fhandler_pipe::raw_write): Ditto. (fhandler_mailslot::raw_read): Ditto. * fhandler_fifo.cc (fhandler_fifo::raw_read): Reflect read_overlapped -> raw_read rename. (fhandler_fifo::raw_write): Ditto. * fhandler_mailslot.cc (fhandler_mailslot::raw_read): Delete. (fhandler_mailslot::raw_write): Reflect read_overlapped -> raw_read rename. * pipe.cc (fhandler_pipe::raw_read): Delete. (fhandler_pipe::raw_write): Ditto.
* * fork.cc (fork): Clear PID_REAPED.Christopher Faylor2011-05-054-5/+12
| | | | | | * pinfo.cc (pinfo_init): Ditto. (pinfo::init): Check for PID_REAPED. * sigproc.cc (stopped_or_terminated): Ditto.
* * pinfo.cc (_pinfo::exists): Check for PID_REAPED.Christopher Faylor2011-05-052-1/+5
|
* Fix typo.Corinna Vinschen2011-05-051-1/+1
|
* * fhandler_disk_file.cc (fhandler_disk_file::pread): Correctly returnCorinna Vinschen2011-05-052-0/+18
| | | | | with errno set to EBADF if file open mode is incorrect. (fhandler_disk_file::pwrite): Ditto.
* * configure.ac (alpha*-dec-osf*, i[[3456789]]86-*-rdos*,Joseph Myers2011-05-053-210/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sh*-*-pe|mips*-*-pe|arm-wince-pe, sparc-*-sunos4*, *-*-aix*, *-*-beos*, *-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-lynxos*, *-*-mingw*, *-*-netbsd*, *-*-netware*, *-*-tpf*, *-*-uclinux*, *-*-vxworks*): Disable newlib and libgloss in separate case statement. (i[[3456789]]86-*-linux*): Move logic allowing newlib to be built to separate case statement. (*-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-netbsd*, *-*-netware*, *-*-tpf*, *-*-uclinux*, *-*-vxworks*, alpha*-dec-osf*, alpha*-*-linux*, am33_2.0-*-linux*, sh-*-linux*, sh*-*-pe|mips*-*-pe|*arm-wince-pe, arm-*-coff, arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi, arm*-*-symbianelf*, avr-*-*, bfin-*-*, cris-*-* | crisv32-*-*, frv-*-*, i[[3456789]]86-*-coff | i[[3456789]]86-*-elf, i[[3456789]]86-w64-mingw*, i[[3456789]]86-*-mingw*, x86_64-*-mingw*, i[[3456789]]86-*-interix*, i[[3456789]]86-*-beos*, i[[3456789]]86-*-rdos*, m32r-*-*, m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, m68k-*-elf*, m68*-*-* | fido-*-*, powerpc-*-aix*, powerpc-*-beos*, powerpc-*-eabi, powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems*, rs6000-*-lynxos*, rs6000-*-aix*, mips*-*-linux*, sparclet-*-aout* | sparc86x-*-*, sparc-*-elf*, sparc64-*-elf*, sparclite-*-*, sparc-*-sunos4*, sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*, *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-lynxos*, *-*-*): Don't disable newlib and libgloss in main case over targets. Remove most empty cases in main case over targets. * configure: Regenerate.
* * fhandler.cc (is_at_eof): Drop static storage class. Drop errCorinna Vinschen2011-05-053-4/+72
| | | | | | | | | | parameter since we don't change the Win32 error here anymore. (fhandler_base::raw_read): Accommodate change to is_at_eof. * fhandler_disk_file.cc (fhandler_disk_file::pread): In binary mode use direct call to NtReadFile, rather than lseek/read. (fhandler_disk_file::pwrite): In binary mode use direct call to NtWriteFile, rather than lseek/write.
* * dcrt0.cc (dll_crt0_1): Reset locale to "C" even when dynamicallyCorinna Vinschen2011-05-052-1/+9
| | | | loaded.
* * posix.sgml (std-notimpl): Remove bsd_signal, setcontext, andCorinna Vinschen2011-05-052-4/+6
| | | | swapcontext, marked obsolete in SUSv3 and not present in SUSv4.
* * fhandler_registry.cc (fhandler_registry::exists): Fix regressionCorinna Vinschen2011-05-052-2/+10
| | | | | in EACCES handling. (fhandler_registry::open): Fix "%val" case.
* * signal.cc (_pinfo::kill): Return success on kill(0) only if pid exists or isChristopher Faylor2011-05-054-5/+16
| | | | | | | | in PID_EXITED state. Report pid 0 when pid does not exist rather than pid -1. Make debug output reflect actual function call. * sigproc.cc (stopped_or_terminated): Set process state to reaped when we've finished waiting for it. * include/sys/cygwin.h (PID_REAPED): New enum.
* * new-features.sgml (ov-new1.7.10): Document psiginfo, psignal,Yaakov Selkowitz2011-05-042-2/+7
| | | | and sys_siglist.
* * cygwin.din (psiginfo): Export.Yaakov Selkowitz2011-05-046-5/+74
| | | | | | | | | | | | | (psignal): Export. (sys_siglist): Export. * posix.sgml (std-notimpl): Move psiginfo and psignal from here... (std-susv4): ... to here. (std-deprec): Add sys_siglist. * strsig.cc (sys_siglist): New array. (psiginfo): New function. * include/cygwin/signal.h (sys_siglist): Declare. (psiginfo): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * configure.ac: Remove code setting special library locations forJoseph Myers2011-05-043-72/+7
| | | | | | hppa*64*-*-hpux11*. Remove code setting compiler for sparc-sun-solaris2*. * configure: Regenerate.
* * dll_list::detach (dll_list::detach): Avoid doing anything with detach duringChristopher Faylor2011-05-042-1/+9
| | | | a failing fork.
* * dll_init.cc (dll_global_dtors): Avoid calling destructors during failingChristopher Faylor2011-05-042-0/+10
| | | | fork().
* * fhandler.h (class fhandler_base): Remove uninterruptible_io statusCorinna Vinschen2011-05-048-90/+27
| | | | | | | | | | | | | | | | | | | | | flag. (fhandler_base::ready_for_read): Remove declaration. (fhandler_socket::ready_for_read): Ditto. (fhandler_pipe::ready_for_read): Ditto. (fhandler_tty_master::is_slow): Remove. * fhandler_console.cc (fhandler_console::open): Drop setting uninterruptible_io. * fhandler_serial.cc (fhandler_serial::open): Ditto. * fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Ditto. (fhandler_tty_master::init_console): Ditto. * pipe.cc (fhandler_pipe::fhandler_pipe): Ditto. (fhandler_pipe::open): Ditto. (_pipe): Ditto. * select.cc (fhandler_pipe::ready_for_read): Remove. (fhandler_base::ready_for_read): Remove. * syscalls.cc (readv): Drop unneeded wait variable. Remove entire test which might lead to calling ready_for_read. Remove now unused label out.
* * fhandler.h (class fhandler_mailslot): Move down in file and changeCorinna Vinschen2011-05-043-20/+42
| | | | | | | | | | | | | | | parent class to fhandler_base_overlapped. Remove declaration of method write. Add declaraiotns for raw_read and raw_write. * fhandler_mailslot.cc (fhandler_mailslot::fhandler_mailslot): Call fhandler_base_overlapped constructor. (fhandler_mailslot::fstat): Call fhandler_base_overlapped::fstat. (fhandler_mailslot::open): Drop FILE_SYNCHRONOUS_IO_NONALERT flag from call to NtOpenFile. (fhandler_mailslot::raw_read): New method. (fhandler_mailslot::raw_write): Ditto. Take over length algorithm from former write method. (fhandler_mailslot::write): Remove. (fhandler_mailslot::ioctl): Call fhandler_base_overlapped::ioctl.
* * fhandler.h (fhandler_dev_tape::_lock): Add bool parameter.Corinna Vinschen2011-05-043-11/+40
| | | | | | | | * fhandler_tape.cc (lock): Call _lock with false argument. (_lock): Take bool cancelable parameter. Handle O_NONBLOCK. Make cancelable if cancelabe parameter is true. (fhandler_dev_tape::raw_read): Call _lock with true argument. (fhandler_dev_tape::raw_write): Ditto.
* * fhandler_dsp.cc (fhandler_dev_dsp::Audio): Add fh member.Corinna Vinschen2011-05-042-25/+119
| | | | | | | | | | | | | | | | | | | | | | | (fhandler_dev_dsp::Audio_out::Audio_out): Take pointer to encapsulating fhandler_dev_dsp as parameter. (fhandler_dev_dsp::Audio_in::Audio_in): Ditto. (fhandler_dev_dsp::Audio::Audio): Take pointer to encapsulating fhandler_dev_dsp as parameter and store in fh. (fhandler_dev_dsp::Audio_out::write): Change return type to int and return number of bytes written. Return -1 if waitforspace returns false and no bytes have been written so far. (fhandler_dev_dsp::Audio_out::waitforspace): Change return type to bool. Handle O_NONBLOCK. Make waiting loop interruptible and cancelable. Return false in any of these cases, otherwise true. (fhandler_dev_dsp::Audio_in::read): Set returned nBytes to -1 if waitfordata returns false and nothing has been read so far. (fhandler_dev_dsp::Audio_in::waitfordata): Change return type to bool. Handle O_NONBLOCK. Make waiting loop interruptible and cancelable. Return false in any of these cases, otherwise true. (fhandler_dev_dsp::write): Call Audio_out constructor with this as parameter. (fhandler_dev_dsp::read): Call Audio_in constructor with this as parameter.
* * libc/include/signal.h (psignal): Declare.Yaakov Selkowitz2011-05-0410-50/+100
| | | | | | | | | | | * libc/sys/linux/psignal.c: Move from here... * libc/signal/psignal.c: ... to here. Document. * libc/sys/linux/Makefile.am (GENERAL_SOURCES): Move psignal.c from here... * libc/signal/Makefile.am (LIB_SOURCES): ... to here. (CHEWOUT_FILES): Add psignal.def. * libc/sys/linux/Makefile.in: Regenerate. * libc/signal/Makefile.in: Ditto. * libc/signal/signal.tex: Add references to psignal.