summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
* * path.cc (find_fast_cwd_pointer): Fix for W8 CP 32 bit.Corinna Vinschen2012-04-272-21/+58
|
* *** empty log message ***Corinna Vinschen2012-04-251-1/+1
|
* * fhandler.h (class dev_console): Add member ext_mouse_mode5.Corinna Vinschen2012-04-253-10/+37
| | | | | | * fhandler_console.cc (fhandler_console::read): Implement extended mouse mode 1005 (xterm, mintty). Fix actual mouse reporting for large coordinates.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 15.Corinna Vinschen2012-04-242-1/+5
|
* * fhandler_console.cc (ALT_PRESSED): Define earlier, never undefine.Corinna Vinschen2012-04-242-10/+15
| | | | | | | (CTRL_PRESSED): Ditto. (fhandler_console::read): Simplify expressions testing for pressed ALT or CTRL modifier keys. (get_nonascii_key): Ditto.
* *** empty log message ***Corinna Vinschen2012-04-241-0/+8
|
* * fhandler.h (class dev_console): Add members ext_mouse_mode6 andCorinna Vinschen2012-04-243-23/+79
| | | | | | | | | | 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.
* add in preparation for releaseChristopher Faylor2012-04-231-0/+13
|
* * dtable.cc (fh_alloc): Only disallow opening of nonexistent on-disk device.Christopher Faylor2012-04-214-8/+11
| | | | | | * 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.
* * dtable.cc (fh_alloc): Keep fh which was flagged as error if it is for anChristopher Faylor2012-04-194-2/+22
| | | | | | | 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.
* * fhandler.h (fhandler_base::nohandle): Revert to standard implementation.Christopher Faylor2012-04-184-11/+20
| | | | | | | | | | * 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.
* reformatChristopher Faylor2012-04-151-2/+2
|
* wincap.h: Rename assitant to assistant throughout. wincap.cc: Ditto.Christopher Faylor2012-04-158-24/+40
| | | | | | | | | | | | | * 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.
* clarify latest entryChristopher Faylor2012-04-131-1/+1
|
* * devices.in (exists_console): Allow /dev/con{sole,in,out} to be referencedChristopher Faylor2012-04-134-11/+15
| | | | | | they exist. * devices.cc: Regenerate. * fhandler_console.cc (fhandler_console::set_unit): Ditto.
* * syscalls.cc (fhandler_base::stat_fixup): Fix inode numbers ofCorinna Vinschen2012-04-112-3/+9
| | | | non-device files in virtual fileysystems.
* * dtable.cc (cygwin_attach_handle_to_fd): Defend against NULL return fromChristopher Faylor2012-04-074-6/+26
| | | | | | | build_fh_*. (dtable::init_std_file_from_handle): Ditto. * mmap.cc (mmap_record::alloc_fh): Ditto. * path.cc (path_conv::check): Ditto.
* * fhandler.h (fhandler_base::nohandle): Implement "by hand" rather than throughChristopher Faylor2012-04-062-1/+14
| | | | macro. Set io_handle to INVALID_HANDLE_VALUE when setting flag to true.
* * path.c (path_conv::check): Avoid directly referencing fields of the devChristopher Faylor2012-04-062-1/+6
| | | | structure when it can be easily avoided.
* Fix a couple of typos.Christopher Faylor2012-04-061-4/+4
|
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 14.Corinna Vinschen2012-04-052-1/+5
|
* Add typeahead description.Christopher Faylor2012-04-051-0/+3
|
* *** empty log message ***Corinna Vinschen2012-04-051-0/+5
|
* * passwd.cc (pwdgrp::read_passwd): Fix pretty_ls entry tyo containCorinna Vinschen2012-04-052-1/+6
| | | | the required number of colons.
* * fhandler.h (fhandler_pty_common::bytes_available): Declare new function.Christopher Faylor2012-04-054-70/+98
| | | | | | | | | | | | | | | (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. Cleanup 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.
* * fhandler_nodevice.cc (fhandler_nodevice::open): Convert EROFS toCorinna Vinschen2012-04-043-3/+17
| | | | | | 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.
* * path.cc (path_conv::check): Convert device type to FH_FS forCorinna Vinschen2012-04-042-0/+19
| | | | | non-existant files on /dev, unless /dev itself doesn't exist on disk. Add comment to explain why.
* * hookapi.cc (rvadelta): Compute max_size using SizeOfRawData ratherCorinna Vinschen2012-04-042-1/+6
| | | | than VirtualSize.
* * passwd.cc (_getpass_close_fd): New static pthread cleanup handler.Corinna Vinschen2012-04-042-12/+40
| | | | | | (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.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 13.Corinna Vinschen2012-04-032-1/+5
|
* * syscalls.cc (fhandler_base::stat_fixup): Replace string comparisonCorinna Vinschen2012-04-032-1/+6
| | | | with new device::is_dev_resident() call.
* * devices.h (lives_in_dev): New field.Christopher Faylor2012-04-025-3294/+3372
| | | | | | | | | | | | | | | | (dev_on_fs): Set bit size. (is_dev_resident): Define new method. * devices.in: Use different method for labelling requested name for dev storage: prefix it with a ='. Use an actual ':' to denote an internal device. (exists_console): Avoid repeated test. (exists_ntdev_silent): Rename from the less-descriptive exists_ntdevs. (dev_dev_storage): Delete unneeded define. * gendevices: Add a flag to each line denoting whether the device lives in /dev space. (generate): Handle special ":" case here for internal devices. Parse =something_dev as requiring a storage location. Tack the rest of the line back onto the reformulated "$rest". * devices.cc: Regenerate.
* * devices.h (device::get_device): New method.Corinna Vinschen2012-04-024-5/+17
| | | | | | * fhandler_dev.cc (fhandler_dev::readdir): Set st_ino to device number. * syscalls.cc (fhandler_base::stat_fixup): Ditto. Fix link count for CD-ROM devices. Fix typo in comment.
* * fhandler.h (fhandler_base::stat_fixup): Rename fromCorinna Vinschen2012-04-023-5/+18
| | | | | | fhandler_base::set_ino_and_dev. * syscalls.cc (fhandler_base::stat_fixup): Ditto. Accommodate name change throughout. Fixup link count of console devices.
* * devices.h (FH_CYGDRIVE): Define as DEV_VIRTFS_MAJOR class device.Corinna Vinschen2012-04-025-9/+18
| | | | | | | | | (DEV_CYGDRIVE_MAJOR): Remove. (iscygdrive_dev): Define. * dtable.cc (fh_alloc): Accommodate above change. * path.cc (path_conv::check): Use iscygdrive_dev to check for cygdrive. * syscalls.cc (fhandler_base::set_ino_and_dev): Drop check for DEV_CYGDRIVE_MAJOR from conditional.
* * devices.h (FH_DEV): Define as DEV_VIRTFS_MAJOR class device.Corinna Vinschen2012-04-024-7/+13
| | | | | | | (DEV_DEV_MAJOR): Remove. * dtable.cc (fh_alloc): Accommodate above change. * syscalls.cc (set_ino_and_dev): Drop check for DEV_DEV_MAJOR from conditional.
* * fhandler.h (fhandler_base::set_ino_and_dev): Declare.Corinna Vinschen2012-04-023-16/+44
| | | | | | | | * syscalls.cc (fhandler_base::set_ino_and_dev): New method to set st_ino, st_dev, and st_rdev for devices in a single spot. (fstat64): Call fhandler_base::set_ino_and_dev instead of setting st_ino, st_dev, and st_rdev here. (stat_worker): Ditto.
* * fhandler.h (fhandler_dev::open): Declare.Corinna Vinschen2012-04-026-3/+113
| | | | | | | | | | | | | | | | (fhandler_dev::close): Declare. (fhandler_dev::fstat): Declare. (fhandler_dev::fstatvfs): Declare. (fhandler_cygdrive::fstatvfs): Declare. * fhandler_dev.cc (fhandler_dev::open): New method. (fhandler_dev::close): Ditto. (fhandler_dev::fstat): Ditto. (fhandler_dev::fstatvfs): Ditto. * fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't fill st_rdev. (fhandler_cygdrive::fstatvfs): New method. * path.h (path_conv::fs_got_fs): New method. * mount.h (fs_info::got_fs): Change type to bool, make public.
* * mount.cc (fillout_mntent): Use "none" rather than 0 when checkingCorinna Vinschen2012-04-022-1/+6
| | | | FS type.
* * dtable.cc (dtable::fixup_close): Define new function.Christopher Faylor2012-04-014-14/+47
| | | | | | | | | | | (dtable::fixup_after_exec): Use fixup_close() and detect when it was not possible to open an inherited file handle. (dtable::fixup_after_fork): Defensively close any file handles which were not, for some reason, inheritable. * dtable.h: Make #pragma once. (dtable::fixup_close): Declare new function. * fhandler_console.cc (fhandler_console::set_unit): Set I/O handles to NULL when this function fails.
* * fhandler_dev.cc (fhandler_dev::readdir): Fix formatting. SimplifyCorinna Vinschen2012-04-012-41/+25
| | | | | code. Use device::type() to fetch dirent compatible device type. Add comment.
* * devices.h (device::exists_func): Redefine field.Christopher Faylor2012-04-016-8387/+7578
| | | | | | | | | | | | (device::dev_on_fs): Remove unneeded bit field. Just make a normal boolean. (device::exists): Redefine function. * devices.in: Move previous functions earlier since they are now only defined static. Rename some functions due to an as-yet unresolved bug in gendevices. Rename posix part of internal-only devices with a double-slash. gendevices will eventuall translate that to a ":". (device::parse): Rework to use dev pointer and dev_storage_end. * devices.cc: Regenerate. * gendevices: Translate "// to ": after shilka processing.
* * devices.cc: Regenerate.Corinna Vinschen2012-03-316-2740/+2842
| | | | | | | | | | | | | | | | | | | | | | | | | * devices.h (device::exists_func): New member function pointer, replacing noexpose. (device::expose): Remove. (device::exists_never): Declare. (device::exists_ptys): Declare. (device::exists_cons): Declare. (device::exists_console): Declare. (device::exists_nt_dev): Declare. (device::exists): Declare. * devices.in (dev_storage): Replace former noexpose values with pointers to matching exists_XXX method. (device::exists_never): New method. (device::exists_ptys): New method. (device::exists_cons): New method. (device::exists_console): New method. (device::exists_nt_dev): New method. (device::exists): New method. * fhandler_dev.cc (fhandler_dev::readdir): Replace call to device::expose with call to device::exists and drop all further existence filtering since it's done in device::exists now. * path.cc (path_conv::check): Replace call to device::expose with call to device::exists.
* update copyrightChristopher Faylor2012-03-311-1/+1
|
* (Interim checkin while we work on this)Christopher Faylor2012-03-319-285/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * devices.cc: Regenerate. * devices.h (device::noexpose): New field. (device::dev_on_fs): Make a bit field. (get_major): Use proper type for declaration. (expose): New field. (ext_dev_storage): Delete declaration. (dev_storage_size): Ditto. (dev_storage): New declaration. (dev_storage_end): Ditto. * devices.in: Mark /dev/ptym*, /dev/com*, /dev/pipe, /dev/fifo, and "/dev" as "no expose". * fhandler.h (fhandler_dev::lastrealpos): Delete declaration. (fhandler_dev::devidx): Declare new field. * fhandler_disk_file.cc: Move fhandler_dev functions into fhandler_dev.cc. * fhandler_dev.cc: Add includes needed for functions moved from fhandler_disk_file.cc. (dev_storage_scan_start): Define place to start listing devices. (dev_storage_size): Define size of array to scan. (fhandler_dev::fhandler_dev): Move here from fhandler_disk_file.cc. (fhandler_dev::opendir): Ditto. (fhandler_dev::readdir): Just check devidx for non-NULL to determine when to go to disk for /dev content. Use dev_storage rather than ext_dev_storage. Iterate over dev_storage using devidx pointer. Use accessor functions rather than raw references to the device struct. Only increment dir->__d_position when we are actually going to be returning something. Add debug_printf for exit. (fhandler_dev::rewinddir): Set devidx as appropriate depending on whether there's a /dev on disk or not. * gendevices: Don't mark dev_storage static but do put it in the _RDATA section. * path.cc (path_conv::check): Use new "device::expose()" function to decide to forbid programs from referencing internal device types.
* *** empty log message ***Corinna Vinschen2012-03-301-1/+1
|
* * posix.sgml (std-notes): Change description of flock restrictions.Corinna Vinschen2012-03-303-4/+23
|
* * devices.h (DEV_TTY_MAJOR): Define, use throughout where appropriate.Corinna Vinschen2012-03-303-37/+96
| | | | | | | (DEV_VIRTFS_MAJOR): Ditto. * fhandler_dev.cc (fhandler_dev::readdir): Add comments. Tweak tests for invisible devices. Don't print comX devices, only ttySX. Drop requirement to call stat64.
* *** empty log message ***Corinna Vinschen2012-03-291-0/+7
|
* * Makefile.in (DLL_OFILES): Add fhandler_dev.o.Corinna Vinschen2012-03-2912-37/+325
| | | | | | | | | | | | | | | | | | | | | | | * devices.h (DEV_DEV_MAJOR): Define. (FH_DEV): Redefine in terms of DEV_DEV_MAJOR. (ext_dev_storage): Declare. (dev_storage_size): Declare. (dev_dev_storage): Declare. (dev_dev): Define. (isdev_dev): Define. * devices.in (dev_dev_storage): Activate. (ext_dev_storage): Define as externally available pointer to dev_storage. (dev_storage_size): Define to contain number of dev_storage elements. * dir.cc (rmdir): Handle /dev as always not empty. * dtable.cc (fh_alloc): Handle DEV_DEV_MAJOR. * fhandler.h (fhandler_dev): New class, derived from fhandler_disk_file. (fhandler_union): Add fhandler_dev member. * fhandler_disk_file.cc (class __DIR_mounts): Handle /dev directory to make sure it always exists. * fhandler_dev.cc: New file implementing /dev. * globals.cc (ro_u_dev): New R/O unicode string. * path.cc (path_conv::check): Handle FH_DEV device.