420 lines
16 KiB
Plaintext
420 lines
16 KiB
Plaintext
2006-01-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::mkdir): In case or error,
|
|
check for existance explicitely and set errno to EEXIST.
|
|
|
|
2006-01-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (DIR_NUM_ENTRIES): New define determining
|
|
minimum number of dir entries which fit into the readdir cache.
|
|
(DIR_BUF_SIZE): Define globally as size of readdir cache.
|
|
(struct __DIR_cache): New structure used for readdir caching on NT.
|
|
(d_dirname): Accessor for struct __DIR_cache, use throughout.
|
|
(d_pos): Ditto.
|
|
(d_cache): Ditto.
|
|
(fhandler_disk_file::opendir): Allocate __d_dirname to contain readdir
|
|
cache on NT.
|
|
(fhandler_disk_file::readdir): Use buf as pointer into readdir cache.
|
|
Implement readdir caching.
|
|
|
|
2006-01-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/sys/dirent.h (struct dirent): Revert misguided attempt to
|
|
rename __d_unused1 to __d_fd.
|
|
|
|
2006-01-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (NtQueryDirectoryFile): Define.
|
|
* dir.cc (__opendir_with_d_ino): Just call opendir.
|
|
(opendir): Remove CYGWIN_VERSION_CHECK_FOR_NEEDS_D_INO handling.
|
|
(readdir_worker): Only try generating d_ino if it's 0.
|
|
Utilize namehash of directories fhandler. Call readdir_get_ino to
|
|
generate d_ino for "..".
|
|
(seekdir64): Keep dirent_set_d_ino flag.
|
|
* fhandler.h (enum dirent_states): Add dirent_get_d_ino.
|
|
(class fhandler_disk_file): Declare new private methods readdir_helper
|
|
and readdir_9x.
|
|
* fhandler_disk_file.cc (path_conv::hasgood_inode): New method to
|
|
evaluate if a filesystem has reliable inode numbers.
|
|
(fhandler_base::fstat_by_handle): Accomodate structure member name
|
|
change from IndexNumber to FileId.
|
|
(fhandler_base::fstat_helper): Call hasgood_inode here.
|
|
(fhandler_disk_file::opendir): Call fhaccess only for real files.
|
|
Don't append '*' to __d_dirname here, move to readdir_9x. On NT,
|
|
open directory handle here. Set dirent_get_d_ino and dirent_set_d_ino
|
|
flags according to wincap and filesystem.
|
|
(fhandler_disk_file::readdir_helper): New method to implement readdir
|
|
postprocessing only once.
|
|
(readdir_get_ino_by_handle): New static function.
|
|
(readdir_get_ino): New function to centralize inode number evaluation
|
|
in case inode number hasn't been returned by NtQueryDirectoryFile.
|
|
(fhandler_disk_file::readdir): Move old functionality to readdir_9x.
|
|
Call readdir_9x when on 9x/Me. Implement NT specific readdir here.
|
|
(fhandler_disk_file::readdir_9x): Move 9x specific readdir here.
|
|
(fhandler_disk_file::seekdir): Accomodate new NT readdir method.
|
|
(fhandler_disk_file::closedir): Ditto.
|
|
(fhandler_cygdrive::fstat): Set d_ino to namehash. Add comment.
|
|
(fhandler_cygdrive::opendir): Call get_namehash to prepare later
|
|
correct evaluation of d_ino.
|
|
(fhandler_cygdrive::readdir): Replace recursion with loop. Evaluate
|
|
drive's d_ino by calling readdir_get_ino.
|
|
* fhandler_proc.cc (fhandler_proc::readdir): Set dirent_saw_dot and
|
|
dirent_saw_dot_dot to avoid seeing . and .. entries twice.
|
|
* fhandler_process.cc (fhandler_process::readdir): Ditto.
|
|
* fhandler_registry.cc (fhandler_registry::readdir): Ditto.
|
|
* ntdll.h (STATUS_INVALID_PARAMETER): New define.
|
|
(STATUS_INVALID_LEVEL): New define.
|
|
(struct _FILE_INTERNAL_INFORMATION): Rename member IndexNumber to
|
|
FileId (as in Nebbitt).
|
|
* path.h (path_conv::hasgood_inode): Now implemented in
|
|
fhandler_disk_file.cc.
|
|
* wincap.h (wincaps::has_fileid_dirinfo): New element.
|
|
* wincap.cc: Implement above element throughout.
|
|
* winsup.h (readdir_get_ino): Add declaration.
|
|
* include/sys/dirent.h (struct dirent): Slightly rename structure
|
|
members to accomodate changes.
|
|
Remove __USE_EXPENSIVE_CYGWIN_D_INO handling and declaration of
|
|
__opendir_with_d_ino.
|
|
|
|
2006-01-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* spawn.cc (spawn_guts): Fix potential handle leak when failing exec.
|
|
|
|
2006-01-27 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* exceptions.cc (inside_kernel): Fix to return true if we can't get the
|
|
name of the DLL for the given memory block since we are not in kernel
|
|
code.
|
|
|
|
2006-01-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_base::open): Fix bug in argument order to
|
|
InitializeObjectAttributes call.
|
|
|
|
2006-01-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix test for
|
|
dirent_isroot to use the correct boolean operator.
|
|
|
|
2006-01-25 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* ntdll.h: (temporarily?) Add more functions for querying directory.
|
|
|
|
2006-01-24 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* dir.cc (readdir_worker): Turn off expensive inode calculation.
|
|
|
|
2006-01-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_process.cc (fhandler_process::fill_filebuf): Disable
|
|
stripping the .exe suffix from the link target in PROCESS_EXE and
|
|
PROCESS_EXENAME case.
|
|
* path.cc (realpath): Tack on .exe suffix if necessary.
|
|
|
|
2006-01-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Try harder
|
|
to determine remote file systems with reliable inode numbers. Add
|
|
longish comment.
|
|
|
|
2006-01-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Reset
|
|
inheritance for duplicated socket.
|
|
|
|
2006-01-20 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* include/cygwin/version.h: Bump API minor number to 151.
|
|
* dir.cc (__opendir_with_d_ino): New function.
|
|
(opendir): Set flag if we should be calculating inodes.
|
|
(readdir_worker): Calculate d_ino by calling stat if the user has asked
|
|
for it.
|
|
(seekdir64): Maintain all persistent flag settings.
|
|
* fhandler.h (dirent_states): Add dirent_set_d_ino.
|
|
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Reflect changes
|
|
to dirent structure.
|
|
* fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
|
|
* include/sys/dirent.h (struct dirent): Coalesce two similar
|
|
structures. Remove all shreds of the apparently highly confusing
|
|
references to inodes. Add support for calculating a real inode if
|
|
__USE_EXPENSIVE_CYGWIN_D_INO is defined.
|
|
|
|
2006-01-20 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* include/sys/dirent.h: Add comments for people who are REALLY confused
|
|
about whether they should be using something called __invalid_d_ino or
|
|
not.
|
|
|
|
2006-01-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::prepare): Fix debug output.
|
|
(fhandler_socket::release): Add debug output for WSAEventSelect failure.
|
|
(fhandler_socket::ioctl): Always cancel WSAEventSelect before switching
|
|
to blocking mode. Only set nonblocking flag if ioctlsocket call
|
|
succeeded. Only print new socket state if ioctlsocket call succeeded.
|
|
|
|
2006-01-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Check posix path
|
|
for root rather than windows path.
|
|
|
|
2006-01-19 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* dir.cc (readdir_worker): Fill in invalid fields with -1. Accommodate
|
|
name change from __ino32 to __invalid_ino32.
|
|
* include/sys/dirent.h (__invalid_ino32): Rename from __ino32. Don't
|
|
define unused d_type macros.
|
|
|
|
2006-01-18 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* heap.cc (heap_init): Remove Sleep.
|
|
|
|
2006-01-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (rresvport): Remove extern declaration.
|
|
|
|
2006-01-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (rresvport): Remove.
|
|
* net.cc (last_used_rrecvport): New global shared variable.
|
|
(cygwin_rresvport): Implement rresvport without using rresvport from
|
|
wsock32.
|
|
|
|
2006-01-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/socket.h (struct sockaddr_storage): Fix typo in
|
|
ss_family member name.
|
|
|
|
2006-01-16 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor version number to 20.
|
|
|
|
2006-01-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uname.cc (uname): Concatenate a "-WOW64" to utsname's sysname
|
|
member to see when running under WOW64.
|
|
|
|
2006-01-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_setsockopt): Ignore errors when setting IP_TOS on
|
|
Windows 2000 and above. Clarify the comment about IP_TOS and move
|
|
to the place where the magic happens.
|
|
(get_ifconf): Remove unused code.
|
|
* wincap.h (wincaps::has_disabled_user_tos_setting): New element.
|
|
* wincap.cc: Implement above element throughout.
|
|
|
|
2006-01-12 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_console.cc (set_console_state_for_spawn): Fix to recognize
|
|
ttys >= 0.
|
|
|
|
2006-01-12 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler.h (set_console_state_for_spawn): Whackamole the argument
|
|
back to a bool.
|
|
* spawn.cc (spawn_guts): Ditto, i.e., once again call
|
|
set_console_state_for_spawn with an indication of whether we're about
|
|
to start a cygwin process.
|
|
* fhandler_console.cc (set_console_state_for_spawn): Don't set the
|
|
console state if we know we're starting a cygwin process or if we're
|
|
using a "real" tty.
|
|
|
|
2006-01-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc (dll_crt0_0): Remove call to wincap.init.
|
|
* init.cc (dll_entry): Rename is_wow64_proc to wow64_test_stack_marker.
|
|
Call wincap.init here before doing anything else. Use wincap.is_wow64
|
|
to determine if we're running in a WOW64 emulator.
|
|
* mmap.cc (MapViewNT): Don't use AT_ROUND_TO_PAGE in WOW64, it's
|
|
apparently not supported.
|
|
(mmap64): Don't create mappings beyond EOF, which would need to use
|
|
AT_ROUND_TO_PAGE, on WOW64.
|
|
* wincap.cc (wincap): Throw into the .cygwin_dll_common section.
|
|
(wincapc::init): Determine if running in WOW64 and set wow_64 flag.
|
|
* wincap.h (class wincapc): Add wow64 member.
|
|
(wincapc::is_wow64): New method.
|
|
|
|
2006-01-10 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_proc.cc (format_proc_cpuinfo): Avoid leading whitespace in
|
|
model name.
|
|
|
|
2006-01-09 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* spawn.cc (spawn_guts): Reorganize slightly so that 16 bit check is
|
|
done prior to check for command.com/cmd.com. Don't bother setting
|
|
CREATE_SUSPENDED flag for a MS-DOS process since it doesn't work
|
|
anyway. Avoid calling remember() when the child process has already
|
|
exited.
|
|
(av::fixup): Explicitly set cygexec flag to false on a 16 bit process.
|
|
|
|
2006-01-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/getopt.h (getopt_long_only): Declare.
|
|
|
|
2006-01-09 Eric Blake <ebb9@byu.net>
|
|
|
|
* cygwin.din: Export getsubopt.
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
2006-01-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::dup): Don't assign a controlling
|
|
terminal to a process when duped. Linux doesn't do this, so we won't
|
|
either.
|
|
|
|
2006-01-08 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* environ.cc (spenvs[]): windir -> WINDIR.
|
|
|
|
2006-01-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::need_invisible): Remove
|
|
duplicate test.
|
|
|
|
2006-01-07 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler.h (set_console_state_for_spawn): Eliminate argument from
|
|
declaration.
|
|
* fhandler.cc (set_console_state_for_spawn): Eliminate argument from
|
|
definition. Always check for invisible console.
|
|
(fhandler_console::need_invisible): Don't do anything if the windows
|
|
station is already not visible.
|
|
* spawn.cc (spawn_guts): Accommodate change of argument to
|
|
set_console_state_for_spawn.
|
|
|
|
2006-01-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* sigproc.cc (no_signals_available): Use existence of signal thread
|
|
handle to figure out if we can actually send signals rather than
|
|
relying on my_sendsig.
|
|
(hwait_sig): Make static.
|
|
(sigproc_init): Don't set my_sendsig to anything special. Use new
|
|
global static hwait_sig.
|
|
(wait_sig): Set hwait_sig to NULL when we are exiting.
|
|
|
|
2006-01-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* include/getopt.h: Accommodate recent unfortunate newlib changes.
|
|
|
|
2006-01-05 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* cygtls.cc (_cygtls::remove): Don't output debugging info if this
|
|
isn't a cygwin thread.
|
|
* sigproc.cc (sigproc_init): Move clearing of sync_startup here to
|
|
lessen the likelihood of trying to deal with non-cygwin threads in
|
|
dll_entry.
|
|
|
|
* fhandler_console: Fix set_console_state_for_spawn comment.
|
|
|
|
2006-01-05 Igor Peshansky <pechtcha@cs.nyu.edu>
|
|
|
|
* spawn.cc (spawn_guts): Invert the argument to
|
|
set_console_state_for_spawn.
|
|
|
|
2006-01-04 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::need_invisible): Only try to
|
|
open "CygwinInvisible" windows station if opening of default station
|
|
fails. Use CloseWindowStation to close window station handle.
|
|
|
|
2006-01-04 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::need_invisible): Open up the
|
|
security of the newly created windows station.
|
|
|
|
2006-01-04 Eric Blake <ebb9@byu.net>
|
|
|
|
* path.cc (dot_special_chars): Add ", <, >, and |.
|
|
|
|
2006-01-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_console.cc (beep): Use MB_OK which is documented as using
|
|
the default bell rather than -1 which seems to behave differently on
|
|
different versions of Windows.
|
|
|
|
2006-01-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_process.cc (fhandler_process::readdir): Add missing argument
|
|
to syscall_printf.
|
|
|
|
* fhandler_console.cc (fhandler_console::need_invisible): Use made-up
|
|
name for windows station rather than asking Windows to create one for
|
|
us.
|
|
|
|
* spawn.cc (spawn_guts): Don't mess with console if we're detaching.
|
|
|
|
2006-01-03 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* dir.cc (readdir_worker): Minor code cleanup.
|
|
|
|
* fhandler_console.cc (beep): Use a more Windows-generic wav file if
|
|
the beep is missing. Use a more foolproof way to find out whether we
|
|
should be recreating the missing key.
|
|
|
|
* registry.h (reg_key::_disposition): New field.
|
|
(reg_key::created): New function.
|
|
* registry.cc (reg_key::reg_key): Set _disposition to zero by default.
|
|
(reg_key::build_key): Fill in _disposition field.
|
|
|
|
2006-01-03 Eric Blake <ebb9@byu.net>
|
|
|
|
* dir.cc (readdir_worker): Ensure that saw_dot* flags are updated when
|
|
not handling inodes.
|
|
|
|
2006-01-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* fhandler_console.cc (beep): New function. Restores missing "Default
|
|
Beep", if necessary.
|
|
(fhandler_console::write_normal): Use beep().
|
|
|
|
2006-01-02 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* dcrt0.cc (_dll_crt0): Remove more leftover debugging stuff.
|
|
(cygwin_dll_init): Remove unneeded initializations. Call _dll_crt0
|
|
rather than dll_crt0_1.
|
|
|
|
2006-01-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syslog.cc: Include sys/un.h instead of sys/socket.h.
|
|
(syslogd_inited): Convert to enum type noting the exact result of
|
|
trying to connect to syslog daemon. Use this way throughout.
|
|
(connect_syslogd): New static function taking over the task to
|
|
connect to syslog socket. Use correct struct sockaddr_un instead of
|
|
struct sockaddr.
|
|
(try_connect_syslogd): Call connect_syslogd. If write fails on
|
|
connection oriented socket, try to reconnect to syslog socket and
|
|
try to write again.
|
|
|
|
2006-01-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* pinfo.cc (pinfo::exit): Swap signal and normal exit value when not
|
|
started from a cygwin process - just like the good-old-days of B20.
|
|
|
|
2006-01-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* strace.cc (strace::write_childpid): Remove debugging output.
|
|
|
|
2006-01-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* cygtls.cc (_cygtls::remove): Remove left over debugging cruft which
|
|
caused this function to always return prematurely.
|
|
|
|
2006-01-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* exceptions.cc (sigpacket::process): Pass actual reference to signal's
|
|
sigaction structure to setup_handler.
|
|
|
|
2006-01-01 Christopher Faylor <cgf@timesys.com>
|
|
|
|
* exceptions.cc (_cygtls::interrupt_setup): Implement SA_RESETHAND.
|
|
* include/cygwin/signal.h: Define SA_ONESHOT and SA_NOMASK.
|
|
|
|
* dcrt0.cc (get_cygwin_startup_info): Remove commented out code.
|
|
|
|
2006-01-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syslog.cc (vklog): Never log kernel messages using the vsyslog
|
|
interface.
|
|
|