3066 lines
		
	
	
		
			115 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			3066 lines
		
	
	
		
			115 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
2012-12-31  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (wait_sig): Remove spurious extern.
 | 
						|
 | 
						|
2012-12-31  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (dtable::dup3): Fix bounds checking for valid newfd.
 | 
						|
	* syscalls.cc (dup2): Ditto.
 | 
						|
	* winsup.h (events_terminate): Delete obsolete function declaration.
 | 
						|
 | 
						|
2012-12-28  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000019.
 | 
						|
	* dcrt0.cc (do_exit): Just set exit_state to ES_EVENTS_TERMINATE and
 | 
						|
	nuke call to events_terminate which just set a superfluous flag.
 | 
						|
	* sigproc.cc (signal_exit_code): New variable.
 | 
						|
	(setup_signal_exit): Define new function.
 | 
						|
	(_cygtls::signal_exit): Remove accommodations for closing the signal
 | 
						|
	pipe handle.
 | 
						|
	(exit_thread): Just sleep if we're exiting.
 | 
						|
	(wait_sig): If signal_exit_code is set, just handle bookkeeping signals
 | 
						|
	and exit ReadFile loop if there is nothing more to process.  Call
 | 
						|
	signal_exit at end if signal_exit_code is non-zero.
 | 
						|
	* sigproc.h (setup_signal_exit): Declare new function.
 | 
						|
	* exceptions.cc (sigpacket::process): Use setup_signal_exit to control
 | 
						|
	exiting due to a signal.
 | 
						|
	(exception::handle): Ditto.  Query exit_state rather than defunct
 | 
						|
	exit_already to determine if we are exiting.
 | 
						|
	* globals.cc (ES_SIGNAL_EXIT): New enum.
 | 
						|
	* sync.h (lock_process::release): New function for explicitly unlocking
 | 
						|
	muto.
 | 
						|
	(lock_process::~lock_process): Use release method.
 | 
						|
 | 
						|
2012-12-27  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fork.cc (child_info::prefork): Fix error message formatting.
 | 
						|
 | 
						|
2012-12-22  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.h (select_stuff): Remove variable names from parameter
 | 
						|
	declarations.
 | 
						|
	(select_info): Ditto.
 | 
						|
	(select_record::dump_select_record): Declare new debugging-only
 | 
						|
	function.
 | 
						|
	(select_info): Zero all fields.
 | 
						|
	(select_pipe_info): Ditto.
 | 
						|
	(select_socket_info): Ditto.
 | 
						|
	(select_serial_info): Ditto.
 | 
						|
	(select_mailslot_info): Ditto.
 | 
						|
	* select.cc (select_record::dump_select_record): Define new
 | 
						|
	debugging-only function.
 | 
						|
	(select_stuff::test_and_set): Call dump_select_record when debugging.
 | 
						|
 | 
						|
	* thread.cc (pthread_mutex::unlock): Revert setting of tid to 0 since,
 | 
						|
	in this context, it is a number, not a pointer.
 | 
						|
	(pthread_spinlock::unlock): Ditto.
 | 
						|
 | 
						|
2012-12-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (exit_thread): undef ExitThread or suffer recursion.
 | 
						|
	Attempt to lock process prior to calling sig_send.
 | 
						|
 | 
						|
2012-12-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	Revert the reversion and go with implementation described in
 | 
						|
	cgf-000017, with some modifications.
 | 
						|
	* init.cc (dll_entry): Revert previous change.
 | 
						|
	* miscfuncs.cc: Include sigproc.h for exit_thread declaration.
 | 
						|
	* winsup.h (ExitThread): Define as 'exit_thread' to ensure no
 | 
						|
	accidental use.
 | 
						|
	* sigproc.cc (exit_thread): New function.
 | 
						|
	(wait_sig): Handle __SIGTHREADEXIT case.  Don't just block rather than
 | 
						|
	returning from this function.
 | 
						|
	* sigproc.h (__SIGTHREADEXIT): New enum.
 | 
						|
	(exit_thread): Declare.
 | 
						|
	* sync.cc (muto::release): Accept a tls command-line argument.
 | 
						|
	* sync.h (muto::release): Accept a tls command-line parameter.  Default
 | 
						|
	to &_my_tls.
 | 
						|
 | 
						|
	* cygerrno.h (__set_errno): Define as extern so that no function code
 | 
						|
	is ever emitted.
 | 
						|
	* cygserver_ipc.h (cygserver_ipc.h): Ditto.
 | 
						|
	* miscfuncs.h (transform_chars): Ditto.
 | 
						|
	* path.h (has_attribute): Ditto.
 | 
						|
	* security.h (privilege_luid): Ditto.
 | 
						|
	* winsup.h (flush_file_buffers): Ditto.
 | 
						|
 | 
						|
2012-12-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000018.
 | 
						|
	* init.cc (dll_entry): Grab process lock before exiting to ensure that
 | 
						|
	thread doesn't exit before parent if parent is exiting.
 | 
						|
	* _cygtls.cc (_cygtls::call2): Revert previous 2012-12-21 change.
 | 
						|
	* miscfuncs.cc (thread_wrapper): Ditto.
 | 
						|
	* thread.cc (pthread::exit): Ditto.
 | 
						|
	* sigproc.cc (exit_thread): Ditto.
 | 
						|
	(wait_sig): Ditto.
 | 
						|
	* sync.cc (muto::release): Ditto.
 | 
						|
	* sync.h (muto::release): Ditto.
 | 
						|
	* sigproc.h (__SIGTHREADEXIT): Delete enum.
 | 
						|
	(exit_thread): Delete declaration.
 | 
						|
 | 
						|
2012-12-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000017.
 | 
						|
	* _cygtls.cc (_cygtls::call2): Use new exit_thread function in place of
 | 
						|
	ExitThread.
 | 
						|
	* miscfuncs.cc (thread_wrapper): Ditto.
 | 
						|
	* thread.cc (pthread::exit): Ditto.
 | 
						|
	(pthread_mutex::unlock): Set tid to NULL rather than 0.
 | 
						|
	(pthread_spinlock::unlock): Ditto.
 | 
						|
	* pinfo.cc (commune_process): Actually call lock_process constructor.
 | 
						|
	* sigproc.cc (exit_thread): New function.
 | 
						|
	(wait_sig): Handle __SIGTHREADEXIT case.  Don't just block rather than
 | 
						|
	returning from this function.
 | 
						|
	* sigproc.h (__SIGTHREADEXIT): New enum.
 | 
						|
	(exit_thread): Declare.
 | 
						|
	* sync.cc (muto::release): Accept a tls command-line argument.
 | 
						|
	* sync.h (muto::release): Accept a tls command-line parameter.  Default
 | 
						|
	to &_my_tls.
 | 
						|
 | 
						|
2012-12-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (build_argv): Allow quoted filenames in @ expression.
 | 
						|
 | 
						|
2012-12-19  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.h (select_stuff::select_stuff): Make default constructor
 | 
						|
	always zero everything while constructor with int arg just zeroes next.
 | 
						|
	* select.cc (select_stuff::test_and_set): Revert to using default
 | 
						|
	constructor.
 | 
						|
 | 
						|
2012-12-19  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.cc (select_stuff::wait): Add windows error number to error message.
 | 
						|
 | 
						|
2012-12-18  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.cc (select_stuff::test_and_set): Remove workaround and use
 | 
						|
	proper constructor.
 | 
						|
 | 
						|
2012-12-18  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.cc (select_stuff::test_and_set): Work around problem of new()
 | 
						|
	not returning zeroed memory.
 | 
						|
 | 
						|
2012-12-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::write): Don't attempt to sparsify
 | 
						|
	an already sparse file.  Drop check for FILE_SUPPORTS_SPARSE_FILES
 | 
						|
	flag.  Explicitely set FILE_ATTRIBUTE_SPARSE_FILE attribute in
 | 
						|
	cached attributes.
 | 
						|
	(fhandler_base::lseek): Only set did_lseek if sparseness is supported.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Don't attempt
 | 
						|
	to sparsify an already sparse file.  Explicitely set
 | 
						|
	FILE_ATTRIBUTE_SPARSE_FILE attribute in cached attributes.
 | 
						|
	* mount.cc (oopt): Add "sparse" flag.
 | 
						|
	(fillout_mntent): Ditto.
 | 
						|
	* path.h (enum path_types): Add PATH_SPARSE.
 | 
						|
	(path_conv::support_sparse): New method.
 | 
						|
	(path_conv::fs_flags): Constify.
 | 
						|
	(path_conv::fs_name_len): Ditto.
 | 
						|
	include/sys/mount.h: Replace unused MOUNT_MIXED flag with MOUNT_SPARSE.
 | 
						|
 | 
						|
2012-12-10  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.h (sig_send): Accept tid as argument #3.  Default to NULL.
 | 
						|
	* sigproc.cc (sig_send): Ditto.  Pass tid to other sig_send.
 | 
						|
	(sigpending): Send current thread as arg #3.
 | 
						|
 | 
						|
2012-12-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (sigpacket::process): Reorganize to avoid use of tls
 | 
						|
	before initialization.
 | 
						|
 | 
						|
	* fhandler_fifo.cc (fhandler_fifo::arm): Avoid improper printing of
 | 
						|
	integer as a string in debug output.
 | 
						|
 | 
						|
2012-12-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.h (sigpacket): Remove parameter names from declarations.
 | 
						|
	(sigpacket::sigtls): Rename from 'tls'.
 | 
						|
	* exceptions.cc (sigpacket::process): Define local tls variable and
 | 
						|
	assign that to sigtls if appropriate.  Clarify debugging output.
 | 
						|
	* sigproc.cc (sig_send): Accommodate tls -> sigtls rename.
 | 
						|
	(pending_signals::add): Ditto.
 | 
						|
	(wait_sig): Ditto.
 | 
						|
 | 
						|
2012-12-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygtls.h (_cygtls::get_signal_arrived): Add parameter to make
 | 
						|
	lock/unlock conditional.
 | 
						|
	* exceptions.cc (_cygtls::interrupt_setup): Don't get a lock when
 | 
						|
	setting signal_arrived since we already have one.
 | 
						|
	* gendef: Add some comments to make it easier to find functions.
 | 
						|
 | 
						|
2012-12-06  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* include/cygwin/wait.h (WAIT_ANY): Define.
 | 
						|
	(WAIT_MYPGRP): Define.
 | 
						|
 | 
						|
2012-12-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* child_info.h (class child_info_spawn): Drop unused member lock.
 | 
						|
	(CURR_CHILD_INFO_MAGIC): Update.
 | 
						|
	* sigproc.cc (child_info_spawn::child_info_spawn): Drop setting lock.
 | 
						|
 | 
						|
2012-12-04  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygtls.h (_cygtls::will_wait_for_signal): Rename from
 | 
						|
	'signal_waiting' to something more expressive.  Reflect rename
 | 
						|
	throughout.
 | 
						|
	(_cygtls::get_signal_arrived): Rename from create_signal_arrived.  Move
 | 
						|
	lock here.
 | 
						|
	(_cygtls::set_signal_arrived): Use get_signal_arrived.
 | 
						|
	* exceptions.cc (_cygtls::interrupt_setup): Use get_signal_arrived.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
 | 
						|
2012-11-30  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* spawn.cc (child_info_spawn::worker): Make detection of '/c' case
 | 
						|
	insensitive when looking for cmd.exe command line.
 | 
						|
 | 
						|
2012-11-26  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* configure.ac: Rename from configure.in.
 | 
						|
	* configure.in: Delete.
 | 
						|
	* configure: Regenerate.
 | 
						|
 | 
						|
2012-11-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_registry.cc: Drop Mingw.org considerations.
 | 
						|
	* fhandler_serial.cc: Ditto.
 | 
						|
	* fhandler_socket.cc: Ditto.
 | 
						|
	* fhandler_tape.cc: Ditto.
 | 
						|
	* fhandler_tty.cc: Ditto.
 | 
						|
	* net.cc: Ditto.
 | 
						|
	* ntdll.h: Ditto.
 | 
						|
	* sched.cc: Ditto.
 | 
						|
	* sec_helper.cc: Ditto.
 | 
						|
 | 
						|
2012-11-23  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* configure.in: Remove unneeded ALLOC substitution.
 | 
						|
	* configure: Regenerate.
 | 
						|
	* aclocal.m4: Ditto.
 | 
						|
 | 
						|
2012-11-23  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* configure.in: Add previously-missed AC_NO_EXECUTABLES.
 | 
						|
	* configure: Regenerate.
 | 
						|
	* aclocal.m4: Ditto.
 | 
						|
 | 
						|
2012-11-23  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* Makefile.in: Use explicit path to mkdir.
 | 
						|
 | 
						|
2012-11-22  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.cc (select): Don't return -1 when we've timed out after
 | 
						|
	looping.
 | 
						|
 | 
						|
2012-11-22  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* Makefile.in: Revamp for new configury.
 | 
						|
	(datarootdir): Add variable setting.
 | 
						|
	(winver_stamp): Accommodate changes to mkvers.sh setting.
 | 
						|
	(libc.a): Fix race when libm.a might not have been built yet.
 | 
						|
	* configure.in: Revamp for new configury.
 | 
						|
	* aclocal.m4: Regenerate.
 | 
						|
	* configure: Ditto.
 | 
						|
	* autogen.sh: New script.
 | 
						|
	* mkvers.sh: Find include directives via CFLAGS and friends rather than
 | 
						|
	assuming that w32api lives nearby.
 | 
						|
 | 
						|
2012-11-21  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* termios.cc (cfsetspeed): New function.
 | 
						|
	* cygwin.din (cfsetspeed): Export.
 | 
						|
	* posix.sgml (std-bsd): Add cfsetspeed.
 | 
						|
	* include/sys/termios.h (cfsetspeed): Declare.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2012-11-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/mntent.h: Only include paths.h when building for Cygwin.
 | 
						|
	Add comment to explain why.
 | 
						|
 | 
						|
2012-11-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winbase.h: Semi-reinstantiate to workaround lack inline assembler
 | 
						|
	implementation of InterlockedCompareExchange for i686 in Mingw64
 | 
						|
	headers.
 | 
						|
	* pinfo.cc (pinfo::init): Remove unused variable mapaddr.
 | 
						|
 | 
						|
2012-11-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sigproc.cc (proc_subproc): Delete unused variable child.
 | 
						|
 | 
						|
2012-11-08  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_termios.cc (fhandler_termios::line_edit): Don't do special
 | 
						|
	character handling when stopped by CTRL-S.
 | 
						|
	* fhandler_tty.cc (bytes_available): Add arguments to debug_only_printf
 | 
						|
	call.
 | 
						|
	* sigproc.cc (proc_subproc): Simplify some if logic.
 | 
						|
 | 
						|
2012-11-04  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* include/sys/termios.h (CBRK): Define as alias of CEOL.
 | 
						|
	(CREPRINT): Define as alias of CRPRNT.
 | 
						|
	(CDISCARD): Define as alias of CFLUSH.
 | 
						|
	(TTYDEF_*): Define.
 | 
						|
 | 
						|
2012-10-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/sys/param.h: Include stddef.h to define NULL.
 | 
						|
 | 
						|
2012-10-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Fix using
 | 
						|
	wrong value in condition.
 | 
						|
 | 
						|
2012-10-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/sys/cygwin.h: Add missing defines for CW_ALLOC_DRIVE_MAP,
 | 
						|
	CW_MAP_DRIVE_MAP and CW_FREE_DRIVE_MAP.
 | 
						|
 | 
						|
2012-10-27  Kai Tietz  <ktietz@redhat.com>
 | 
						|
 | 
						|
	* dcrt0.cc (quoted): Renamed strechr to strchrnul.
 | 
						|
	* environ.cc (environ_init): Likewise.
 | 
						|
	* sec_acl.cc (aclfromtext32): Likewise.
 | 
						|
	* sec_auth.cc (extract_nt_dom_user): Likewise.
 | 
						|
	* uinfo.cc (pwdgrp::next_str): Likewise.
 | 
						|
	* string.h (strechr): Likewise.
 | 
						|
 | 
						|
2012-10-26  Kai Tietz  <ktietz@redhat.com>
 | 
						|
 | 
						|
	* string.h (strechr): Replace assembler by
 | 
						|
	C code.
 | 
						|
	(ascii_strcasematch): Likewise.
 | 
						|
	(ascii_strncasematch): Likwise.
 | 
						|
 | 
						|
2012-10-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dir.cc (closedir): Fix syscall_printf.
 | 
						|
 | 
						|
2012-10-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/signal.h (sigset_t): Define here.
 | 
						|
 | 
						|
2012-10-24  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* Makefile.in (DLL_IMPORTS): Use system import libraries for
 | 
						|
	kernel32 and ntdll instead of from in-tree w32api.
 | 
						|
	(cygwin0.dll): Remove rule dependency on DLL_IMPORTS, as they
 | 
						|
	are no longer built in-tree.
 | 
						|
 | 
						|
2012-10-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.h (List_insert): Cast first parameter in
 | 
						|
	InterlockedCompareExchangePointer call to avoid compiler warnings.
 | 
						|
	(List_remove): Ditto.
 | 
						|
 | 
						|
2012-10-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winbase.h: Remove.
 | 
						|
 | 
						|
2012-10-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* child_info.h (CURR_CHILD_INFO_MAGIC): Update.
 | 
						|
 | 
						|
2012-10-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 18.
 | 
						|
 | 
						|
2012-10-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Remove lloffset.
 | 
						|
	Use offset directly.  Add shortcut for lseek(fd, 0, SEEK_CUR) case.
 | 
						|
	(fhandler_dev_floppy::ioctl): Drop wrong RDSETBLK case.
 | 
						|
	* fhandler_raw.cc (fhandler_dev_raw::ioctl): Revamp RDSETBLK code.
 | 
						|
 | 
						|
2012-10-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::write): Fix potential exit from
 | 
						|
	loop with write mutex held.  Delete redundant mutex release.  Clear tty
 | 
						|
	error once we've grabbed it.
 | 
						|
 | 
						|
2012-10-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Drop gratuitous
 | 
						|
	initializing from previous patch.
 | 
						|
 | 
						|
2012-10-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_floppy.cc (fhandler_dev_floppy::open): Fix comment.
 | 
						|
 | 
						|
2012-10-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::write): DWORD -> BOOL.
 | 
						|
 | 
						|
2012-10-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (class fhandler_dev_raw): Add members devbufalloc and
 | 
						|
	devbufalign.
 | 
						|
	(class fhandler_dev_floppy): Remove member bytes_per_sector;
 | 
						|
	* fhandler_floppy.cc (bytes_per_sector): Define as devbufalign.
 | 
						|
	(fhandler_dev_floppy::open): Set devbufalign to a multiple of the
 | 
						|
	sector size and handle devbuf allocation and alignment in !O_DIRECT
 | 
						|
	case here.  Change comment accordingly.
 | 
						|
	Call FSCTL_ALLOW_EXTENDED_DASD_IO for partitions as well.
 | 
						|
	(fhandler_dev_floppy::raw_write): Fix comment.  Rewrite and fix
 | 
						|
	writing behaviour when application uses read and lseek.
 | 
						|
	(fhandler_dev_floppy::lseek): Use rounddown macro.  Call
 | 
						|
	SetFilePointerEx rather than the old SetFilePointer.
 | 
						|
	(fhandler_dev_floppy::ioctl): Reformat switch.  Call
 | 
						|
	IOCTL_DISK_UPDATE_PROPERTIES rather than IOCTL_DISK_UPDATE_DRIVE_SIZE
 | 
						|
	in BLKRRPART case.  Support BLKIOMIN, BLKIOOPT, BLKPBSZGET and
 | 
						|
	BLKALIGNOFF.
 | 
						|
	* fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Initialize
 | 
						|
	all devbuf-related members.
 | 
						|
	(fhandler_dev_raw::~fhandler_dev_raw): Delete devbufalloc rather than
 | 
						|
	devbuf.
 | 
						|
	(fhandler_dev_raw::open): Drop allocating devbuf.
 | 
						|
	(fhandler_dev_raw::dup): Allocate devbufalloc and set devbuf to support
 | 
						|
	new sector-aligned devbuf handling.
 | 
						|
	(fhandler_dev_raw::fixup_after_exec): Ditto.
 | 
						|
	* fhandler_tape.cc (fhandler_dev_tape::open): Ditto, set devbufalign
 | 
						|
	to 1.
 | 
						|
	* include/cygwin/fs.h (BLKIOMIN): Define.
 | 
						|
	(BLKIOOPT): Define.
 | 
						|
	(BLKALIGNOFF): Define.
 | 
						|
	(BLKPBSZGET): Define.
 | 
						|
 | 
						|
2012-10-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_raw.cc (fhandler_dev_raw::open): Allow O_EXCL flag, as on
 | 
						|
	Linux.
 | 
						|
 | 
						|
2012-10-11  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_termios.cc (fhandler_termios::line_edit): Don't manipulate
 | 
						|
	output_mutex on CTRL-S/CTRL-Q to avoid a deadlock.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::write): Loop when output_stopped
 | 
						|
	is detected before acquiring output_mutex.  Acquire output_mutex in the
 | 
						|
	loop for each write.
 | 
						|
	* tty.h: Remove some obsolete defines.
 | 
						|
	(tty_min::output_stopped): Make 'bool'.
 | 
						|
 | 
						|
2012-10-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/in.h (struct in_addr): Guard with s_addr to avoid
 | 
						|
	potential collision with Win32 headers.
 | 
						|
 | 
						|
2012-10-09  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* child_info.h (child_info_spawn::has_execed): Remove unneeded
 | 
						|
	synchronization.
 | 
						|
 | 
						|
2012-10-09  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc: Remove unneeded assert.h.
 | 
						|
 | 
						|
2012-09-17  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (pinfo::init): Detect potential race where short block has
 | 
						|
	been retrieved but PID_EXECED flag is not set.
 | 
						|
 | 
						|
2012-09-13  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygthread.cc (cygthread::stub): Remove old, unnecessary, FIXMEd code.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Avoid calling close_all_files()
 | 
						|
	twice.
 | 
						|
 | 
						|
2012-09-02  Jin-woo Ye <jojelino@gmail.com>
 | 
						|
	    Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* pseudo-reloc.cc (auto_protect_for): New function.
 | 
						|
	(__write_memory): Call auto_protect_for to handle page protection.
 | 
						|
	(do_pseudo_reloc): Call auto_protect_for to restore old page protection.
 | 
						|
 | 
						|
2012-08-26  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (pinfo::init): Remove assertion.
 | 
						|
 | 
						|
2012-08-23  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (_pinfo::exists): Don't consider a process with no state to
 | 
						|
	exist.
 | 
						|
 | 
						|
2012-08-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* net.cc (get_adapters_addresses): Drop FIXME part of comment.
 | 
						|
 | 
						|
2012-08-17  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000016.
 | 
						|
	* cygtls.h (_cygtls::push): Inline.
 | 
						|
	(_cygtls::interrupt_now): Change signal number argument to siginfo_t
 | 
						|
	argument.
 | 
						|
	(_cygtls::interrupt_setup): Ditto.
 | 
						|
	(_cygtls::set_siginfo): Delete declaration.
 | 
						|
	(_cygtls::reset_signal_arrived): Don't reset signal_arrived signal.
 | 
						|
	Just reset flag.
 | 
						|
	* exceptions.cc (_cygtls::interrupt_now): Reflect argument changes.
 | 
						|
	Pass si to interrupt_setup.
 | 
						|
	(_cygtls::interrupt_setup): Reflect argument changes.  Fill out tls
 | 
						|
	infodata here using passed-in si.  Use si.si_signo instead of sig.
 | 
						|
	(sigpacket::setup_handler): Move this function into sigpacket class.
 | 
						|
	Use si field from the class as appropriate.
 | 
						|
	(sigpacket::process): Don't call tls->set_siginfo here since
 | 
						|
	setup_handler could fail.  Eliminate now-unneeded sig argument.
 | 
						|
	* sigproc.h (sigpacket::setup_handler): Move setup_handler to this
 | 
						|
	class.
 | 
						|
 | 
						|
2012-08-17  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (sig_handle_tty_stop): Clear tls sig field.
 | 
						|
	(sigpacket::process): When continuing, set tls->sig before arming
 | 
						|
	signal_arrived.
 | 
						|
 | 
						|
2012-08-17  Thomas Wolff <towo@towo.net>
 | 
						|
 | 
						|
	* fhandler_clipboard.cc (fhandler_dev_clipboard::read): Use
 | 
						|
	read-ahead buffer for reading Windows clipboard if caller's
 | 
						|
	buffer is too small for complete characters.
 | 
						|
	* include/limits.h: Remove outdated TODO comment.
 | 
						|
 | 
						|
2012-08-16  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygtls.cc (_cygtls::operator HANDLE): Reverse '?' test stupidity.
 | 
						|
 | 
						|
2012-08-16  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::find_tls): Don't consider unitialized
 | 
						|
	threads.
 | 
						|
	* cygtls.cc (_cygtls::operator HANDLE): Return NULL when tid is not
 | 
						|
	set.
 | 
						|
	* exceptions.cc (setup_handler): Don't try to suspend a thread if it
 | 
						|
	has no handle.
 | 
						|
 | 
						|
2012-08-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	Rename cancelable_wait -> cygwait throughout.
 | 
						|
	* DevNotes: Add entry cgf-000015.
 | 
						|
	* cygwait.h (cygwait): Don't allow an optional PLARGE_INTEGER
 | 
						|
	argument.
 | 
						|
 | 
						|
2012-08-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygtls.h (_cygtls::create_signal_arrived): New function.
 | 
						|
	(_cygtls::set_signal_arrived): Lock creation of signal_arrived.
 | 
						|
	* cygwait.cc (cancelable_wait): Ignore signal_arrived event if _my_tls
 | 
						|
	'sig' element does not exist.
 | 
						|
	* exceptions.cc (_cygtls::interrupt_setup): Create signal_arrived if
 | 
						|
	recipient thread has not created it.
 | 
						|
 | 
						|
2012-08-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* gendef: Tighten up whitespace detection.
 | 
						|
 | 
						|
2012-08-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* gendef: Delete unneeded read from <IN> which ate an arbitrary line
 | 
						|
	from cygwin.din.
 | 
						|
 | 
						|
2012-08-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (sigdelayed): Move declaration to sigproc.h.
 | 
						|
	* sigproc.h (sigdelayed): Make symbol globally available.
 | 
						|
	* gendef (sigdelayed): Specifically zero incyg and stacklock.
 | 
						|
	* signal.cc (sigwaitinfo): Lock _my_tls and try harder to clean up
 | 
						|
	signal information.
 | 
						|
 | 
						|
2012-08-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (_pinfo::exists): Don't consider an execed process to exist.
 | 
						|
 | 
						|
2012-08-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* gmon.c (_mcleanup): Fix scope bug when using gmon_out array.
 | 
						|
 | 
						|
2012-08-14  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* errno.cc (errmap): Keep sorted.
 | 
						|
 | 
						|
2012-08-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (semaphore::_fixup_after_fork): Fix Win32 error output in
 | 
						|
	api_fatal call.
 | 
						|
 | 
						|
2012-08-14  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* errno.cc (errmap): Keep sorted.
 | 
						|
 | 
						|
2012-08-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mount.cc (fs_names): Add missing ReFS entry.  Change comment.
 | 
						|
	* mount.h (enum fs_info_type): Add comment.
 | 
						|
 | 
						|
2012-08-13  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* errno.cc (errmap): Map ERROR_SXS_CANT_GEN_ACTCTX to ELIBBAD.
 | 
						|
 | 
						|
2012-08-09  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000014.
 | 
						|
	* cygheap.cc (tls_sentry): Move here, rename from 'sentry' in cygtls.cc
 | 
						|
	(tls_sentry::lock): Ditto.
 | 
						|
	(nthreads): Move from cygtls.cc
 | 
						|
	(THREADLIST_CHUNK): Ditto.
 | 
						|
	(cygheap_init): Call init_tls_list().
 | 
						|
	(init_cygheap::init_tls_list): Define new function.
 | 
						|
	(init_cygheap::add_tls): Ditto.
 | 
						|
	(init_cygheap::remove_tls): Ditto.
 | 
						|
	(init_cygheap::find_tls): Ditto.  Semi-resurrect from
 | 
						|
	_cygtls::find_tls.
 | 
						|
	* cygheap.h (init_cygheap::init_tls_list): Declare new function.
 | 
						|
	(init_cygheap::add_tls): Ditto.
 | 
						|
	(init_cygheap::remove_tls): Ditto.
 | 
						|
	(init_cygheap::find_tls): Ditto.
 | 
						|
	* cygtls.cc (sentry): Delete.
 | 
						|
	(sentry::lock): Ditto.
 | 
						|
	(nthreads): Ditto.
 | 
						|
	(THREADLIST_CHUNK): Ditto.
 | 
						|
	(_cygtls::init): Delete definition.
 | 
						|
	(_cygtls::init_thread): Call cygheap->add_tls() to add thread to global
 | 
						|
	list.
 | 
						|
	(_cygtls::remove): cygheap->remove_tls() to remove thread from global
 | 
						|
	list.
 | 
						|
	* cygtls.h (_cygtls::init): Delete declaration.
 | 
						|
	* dcrt0.cc (dll_crt0_0): Delete call to _cygtls::init().
 | 
						|
	* exceptions.cc (sigpacket::process): When no thread is specified, try
 | 
						|
	to find one via cygheap->find_tls.
 | 
						|
 | 
						|
2012-08-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/sys/wait.h (_wait): Define when building newlib.
 | 
						|
 | 
						|
2012-08-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* signal.cc (sigwaitinfo): Change cw_sig to the correct cw_sig_eintr.
 | 
						|
 | 
						|
2012-08-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (sigdelayed): Simplify declaration.
 | 
						|
	(_cygtls::call_signal_handler): Fix test for when to pop signal stack.
 | 
						|
	Only do it exactly when what is on the stack is a no-op.
 | 
						|
 | 
						|
2012-08-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* spawn.cc (child_info_spawn::worker): Put back a minor variation of
 | 
						|
	Corinna's test for detecting a background process when starting a
 | 
						|
	non-cygwin process.
 | 
						|
 | 
						|
2012-08-01  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/socket.h (MSG_BCAST): Define.
 | 
						|
	(MSG_MCAST): Define.
 | 
						|
 | 
						|
2012-08-01  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_socket::recv_internal): Add bool parameter.
 | 
						|
	Add regparm attribute.
 | 
						|
	* fhandler_socket.cc (fhandler_socket::read): Call recv_internal with
 | 
						|
	second parameter set to false.
 | 
						|
	(fhandler_socket::readv): Ditto.
 | 
						|
	(fhandler_socket::recvfrom): Ditto.
 | 
						|
	(fhandler_socket::recv_internal): Convert use_recvmsg from local
 | 
						|
	variable to parameter.  Use as request for using WSARecvMsg.  Only
 | 
						|
	fail if WSARecvMsg can't be loaded and wsamsg->Control.len > 0,
 | 
						|
	otherwise use WSARecv{From}.  Restrict dwFlags to MSG_PEEK when using
 | 
						|
	WSARecvMsg.
 | 
						|
	(fhandler_socket::recvmsg): Prefer using WSARecvMsg.  Change priority
 | 
						|
	of tests for not using WSARecvMsg.  Call recv_internal with second
 | 
						|
	parameter set accordingly.
 | 
						|
 | 
						|
2012-08-01  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in: Semi-revert patch from 2012-07-01, assuming the previous
 | 
						|
	patch to etc::dir_changed fixes the underlying issue.
 | 
						|
 | 
						|
2012-07-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (etc::dir_changed): Revert muto changes since function is
 | 
						|
	called under lock condition anyway.
 | 
						|
 | 
						|
2012-07-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (etc::dir_changed): Change `io' to a static NO_COPY
 | 
						|
	variable.  Explain why.  Add a muto to guard overwriting the changed_h
 | 
						|
	handle by multiple concurrent threads.
 | 
						|
	* path.h (class etc): Drop unused changed_h member.
 | 
						|
 | 
						|
2012-07-30  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* winlean.h: Define constant which will be needed eventually.  Remove
 | 
						|
	hack in favor of another hack.
 | 
						|
	* lib/crt0.h: Use "winlean.h".
 | 
						|
 | 
						|
2012-07-30  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* winlean.h: Add temporary define.
 | 
						|
	* winsup.h: Remove ancient debugging defines.
 | 
						|
 | 
						|
2012-07-29  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygwait.cc (cancelable_wait): Add some debugging-only output.
 | 
						|
	* exceptions.cc (sig_handle_tty_stop): Make sure that incyg is cleared
 | 
						|
	when exiting if we have no parent process.  Only wait for signal_arrived.
 | 
						|
	(sigpacket::process): Make continue_now a bool.  Delay sending
 | 
						|
	signal_arrived until the end.  Make code more defensive to avoid
 | 
						|
	calling signal handler when stopped.  Only set signal_arrived when
 | 
						|
	stopped.
 | 
						|
	* sigproc.cc (sig_hold): Rename from sigCONT.  Make static.
 | 
						|
	(sig_send): Accommodate sigCONT -> sig_hold rename.
 | 
						|
	(wait_sig): Ditto.
 | 
						|
	* sigproc.h (sigCONT): Delete declaration.
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::write): Use new '%0c' facility
 | 
						|
	to print characters.  Change to paranoid to avoid excessive strace
 | 
						|
	output.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_master::accept_input): Make frequent
 | 
						|
	strace printf "paranoid" to help cut down on strace output size.
 | 
						|
 | 
						|
	* signal.cc (sigsuspend): Add standard syscall strace output.
 | 
						|
	(sigpause): Ditto.
 | 
						|
	(pause): Ditto.
 | 
						|
 | 
						|
2012-07-29  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygtls.h (_cygtls::reset_signal_arrived): New function.
 | 
						|
	(set_signal_arrived::~set_signal_arrived): Use reset_signal_arrived to
 | 
						|
	reset state.
 | 
						|
	* exceptions.cc (sig_handle_tty_stop): Use WAIT_SIGNALED rather than
 | 
						|
	assume we know the return from cancelable_wait.
 | 
						|
	(_cygtls::interrupt_setup): Modify to allow calling when executing in
 | 
						|
	non-cygwin code via sigdelayed.  Always reset signal_arrived.
 | 
						|
	* gendef: Throughout use start_offset rather than the completely wrong
 | 
						|
	sizeof__cygtls.
 | 
						|
	(_sigdelayed): Rewrite to avoid duplication when calling the signal
 | 
						|
	handler.
 | 
						|
	(sigreturn): Delete.
 | 
						|
	* gentls_offsets: Define start_offset rather than sizeof__cygtls.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
 | 
						|
2012-07-29  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_termios.cc (fhandler_termios::line_edit): Use special case
 | 
						|
	'%0c' handling to print non-printable characters using hex notation.
 | 
						|
	* smallprint.cc (__small_vsprintf): Semi-reimplement printing of
 | 
						|
	non-printable characters in hex but only when padding is specified.
 | 
						|
 | 
						|
	* dcrt0.cc (dll_crt0_0): Remove tty_list initialization.
 | 
						|
	* shared.cc (memory_init): Initialize tty_list here.
 | 
						|
 | 
						|
	* path.cc (path_conv::check): Remove unneeded parentheses from if
 | 
						|
	check.
 | 
						|
 | 
						|
2012-07-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/inttypes.h: Add x86_64 target considerations throughout.
 | 
						|
	Define macros in C++ according to C99 requirements.
 | 
						|
	* include/stdint.h: Ditto.
 | 
						|
 | 
						|
2012-07-25  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* signal.cc (clock_nanosleep): Force return on signal rather than
 | 
						|
	letting cancelable_wait loop on signal.
 | 
						|
 | 
						|
2012-07-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (enum bin_status): Add dir_not_empty.
 | 
						|
	(try_to_bin): Call NtQueryInformationFile(FileInternalInformation)
 | 
						|
	with exact buffer size.  Explain why.
 | 
						|
	Ditto for NtSetInformationFile(FileRenameInformation).
 | 
						|
	Handle race-condition which might lead to renaming a non-empty
 | 
						|
	directory.
 | 
						|
	(unlink_nt): Rearrange and partially rephrase comments related to the
 | 
						|
	STATUS_SHARING_VIOLATION case.  Fix condition under which a dir is
 | 
						|
	tested for being non-empty.  Handle dir_not_empty return code from
 | 
						|
	try_to_bin.  Gracefully handle disappearing directory in rm -r
 | 
						|
	workaround.  Fix typo in comment.
 | 
						|
 | 
						|
2012-07-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* wincap.cc (wincapc::init): Drop memset call since it can result in
 | 
						|
	a race condition.  Drop all considerations for pre-Windows 2000 systems
 | 
						|
	since Cygwin won't start on them anyway.
 | 
						|
 | 
						|
2012-07-23  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	Change "set_thread_waiting" to "set_signal_arrived" throughout.
 | 
						|
 | 
						|
2012-07-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000013.
 | 
						|
	* cygserver_ipc.h (ipc_set_proc_info): Use _cygtls::ipc_set_proc_info
 | 
						|
	to set per-thread signal arrived value.
 | 
						|
	* cygthread.cc (cygthread::detach): Use per-thread signal_arrived via
 | 
						|
	set_thread_waiting.
 | 
						|
	* fork.cc (_cygtls::fixup_after_fork): Clear signal_arrived.
 | 
						|
	(_cygtls::remove): Close any signal_arrived handle when thread exists.
 | 
						|
	(_cygtls::find_tls): Remove unneeded function.
 | 
						|
	* cygtls.h: Update copyright.
 | 
						|
	(class _cygtls): Reorganize to help avoid rebuilding newlib when
 | 
						|
	structure changes.
 | 
						|
	(_cygtls::event): Delete.
 | 
						|
	(_cygtls::threadkill): Ditto.	
 | 
						|
	(_cygtls::signal_waiting): Declare new bool.
 | 
						|
	(_cygtls::find_tls): Delete declaration.
 | 
						|
	(_cygtls::set_threadkill): Ditto.
 | 
						|
	(_cygtls::reset_threadkill): Ditto.
 | 
						|
	(_cygtls::set_signal_arrived): Declare new function.
 | 
						|
	(class set_thread_waiting): Declare new class.
 | 
						|
	* cygwait.cc (cw_nowait_storage): Define.
 | 
						|
	(cygwait): Set per-thread signal_arrived via set_thread_waiting.  Don't
 | 
						|
	special-case _main_tls.
 | 
						|
	* cygwait.h (cw_nowait): Define.
 | 
						|
	(cw_infinite): Ditto.
 | 
						|
	(cygwait): Redefine pathological wait-only case.
 | 
						|
	* dcrt0.cc (dll_crt0_0): Remove call to now-defunct events_init().
 | 
						|
	(dll_crt0_1): Remove call to now-defunct create_signal_arrived().
 | 
						|
	* exceptions.cc: Reflect set_signal_mask() argument reordering
 | 
						|
	throughout.  Remove signal mask synchronization throughout.
 | 
						|
	(events_init): Delete definition.
 | 
						|
	(mask_sync): Delete now-unneeded mask synchronization.
 | 
						|
	(set_signal_mask): Reverse order of arguments to "standard" to, from
 | 
						|
	layout.  Rename "newmask" argument to "setmask".  Remove debugging.
 | 
						|
	(sig_handle_tty_stop): Use cancelable_wait rather than WFMO.
 | 
						|
	(_cygtls::interrupt_setup): Don't treat "threadkill" events specially.
 | 
						|
	Conditionally set signal_arrived depending on whether the thread has
 | 
						|
	created it or not.
 | 
						|
	(sigpacket::process): Reorganize to reflect thread-specific sending of
 | 
						|
	signals which is more in line with the way it was actually supposed to
 | 
						|
	work.
 | 
						|
	* fhandler_socket.cc (get_inet_addr): Use cancelable_wait rather than
 | 
						|
	IsEventSignalled to avoid potential race.
 | 
						|
	(fhandler_socket::wait_for_events): Set signal_arrived event using
 | 
						|
	set_thread_waiting().
 | 
						|
	(fhandler_socket::close): Use cygwait for the case of just
 | 
						|
	waiting 10 ms for a signal.
 | 
						|
	* fhandler_tape.cc (fhandler_dev_tape::_lock): Use cancelable_wait
 | 
						|
	rather than WFMO.  Redo switch/case tests accordingly.
 | 
						|
	* fhandler_termios.cc (fhandler_termios::bg_check): Use cygwait for
 | 
						|
	case of just waiting 0 ms for a potential signal.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Use
 | 
						|
	cancelable_wait rather than WFSO.
 | 
						|
	* fhandler_windows.cc (fhandler_windows::read): Set per-thread
 | 
						|
	signal_arrived via set_thread_waiting().
 | 
						|
	* flock.cc (lf_setlock):  Ditto.
 | 
						|
	* select.cc (pselect): Ditto.  Set per-thread signal_arrived using
 | 
						|
	set_thread_waiting().
 | 
						|
	* gendef: Don't special case handling of _cygtls::sig for threads.
 | 
						|
	* gentls_offsets: Use #pragma once in tlsoffsets.h.
 | 
						|
	* ntdll.h: Use #pragma once.
 | 
						|
	* poll.cc: Reflect set_signal_mask() argument reordering.
 | 
						|
	* posix_ipc.cc (ipc_mutex_lock): Use cancelable_wait rather than WFMO.
 | 
						|
	(ipc_cond_timedwait): Set perl-thread signal arrived using
 | 
						|
	set_thread_waiting().
 | 
						|
	* security.h: Use #pragma once.
 | 
						|
	* signal.cc (abort): Reflect set_signal_mask() argument reordering.
 | 
						|
	(clock_nanosleep): Ditto.  Change call to cancelable_wait to properly
 | 
						|
	specify handling of cancel and interrupt.
 | 
						|
	(sigwaitinfo): Remove handling of per-thread event in favor of
 | 
						|
	per-thread signal_arrived.  Use cancelable_wait rather than WFSO.
 | 
						|
	* sigproc.cc (signal_arrived): Delete definition.
 | 
						|
	(create_signal_arrived): Ditto.
 | 
						|
	* sigproc.h (signal_arrived): Delete declaration.
 | 
						|
	(set_signal_mask): Avoid defining as a "C" function.  Don't
 | 
						|
	conditionally declare.
 | 
						|
	(create_signal_arrived): Delete declaration.
 | 
						|
	* syscalls.cc (rename): Use cygwait() rather than WFSO.
 | 
						|
	* thread.h (fast_mutex::lock): Use cw_infinite rather than LARGE_NULL.
 | 
						|
	* wait.cc (wait4): Ditto.
 | 
						|
	* thread.cc (pthread_mutex::lock): Ditto.
 | 
						|
	(pthread::join): Ditto.
 | 
						|
	(semaphore::_wait): Ditto.
 | 
						|
	(pthread_kill): Remove set_threadkill() accommodation.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
 | 
						|
2012-07-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 17.
 | 
						|
 | 
						|
2012-07-19  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* mount.cc (getmntent_r): Remove unused but set variable.
 | 
						|
 | 
						|
2012-07-18  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* cygwin.din (getmntent_r): Export.
 | 
						|
	* mount.cc (getmntent_r): New function.
 | 
						|
	* posix.sgml (std-gnu): Add getmntent_r.
 | 
						|
	* include/mntent.h (getmntent_r): Declare.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2012-07-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winlean.h: Make sure certain Windows macros are undefined again.
 | 
						|
	Add comment to explain why.
 | 
						|
	* winsup.h: Include winlean.h from C sources as well.
 | 
						|
	* libc/minires-os-if.c: Drop including ntdef.h.
 | 
						|
 | 
						|
2012-07-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* pseudo-reloc.cc: Drop including wchar.h and ntdef.h.
 | 
						|
	(__report_error): Define module as WCHAR.
 | 
						|
	* advapi.cc: Drop including wchar.h.
 | 
						|
	* kernel32.cc: Ditto.
 | 
						|
 | 
						|
2012-07-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.cc (well_known_dlls): Add ole32.dll and wbemprox.dll.
 | 
						|
 | 
						|
2012-07-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.sc (.rdata): Revert patch from 2012-07-06.
 | 
						|
 | 
						|
2012-07-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (getpass): Make check for closed stream more reliable.
 | 
						|
	Check if setting tty attributes worked and only revert to old state
 | 
						|
	if so.
 | 
						|
 | 
						|
2012-07-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in, configure.in, mkvers.sh: Revert accidental checkin from
 | 
						|
	2012-07-06.
 | 
						|
 | 
						|
2012-07-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* Makefile.in: Change mingw_lib (temporarily?) back to w32api_lib.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winlean.h (__STRALIGN_H_): Drop definition.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_procnet.cc: Fix copyright.
 | 
						|
	* syslog.cc: Ditto.
 | 
						|
	* libc/minires-os-if.c: Ditto.
 | 
						|
	* libc/minires.h: Ditto.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	In terms of network related functionality, rely on Winsock definitions
 | 
						|
	as much as possible:
 | 
						|
	* dtable.cc: Drop including sys/socket.h.
 | 
						|
	* fhandler_procnet.cc: Change includes accordingly.
 | 
						|
	* fhandler_socket.cc: Ditto.
 | 
						|
	(fhandler_socket::listen): Avoid gcc error message initializing sin6.
 | 
						|
	(LPFN_WSARECVMSG): Only define when building against w32api headers.
 | 
						|
	* net.cc: Change includes accordingly.  Define USE_SYS_TYPES_FD_SET
 | 
						|
	and __WSA_ERR_MACROS_DEFINED.  Define _INC_NETIOAPI temporarily and
 | 
						|
	explain why.
 | 
						|
	(struct _IP_ADAPTER_UNICAST_ADDRESS_LH): Only define when building
 | 
						|
	against w32api headers.
 | 
						|
	(struct _IP_ADAPTER_ADDRESSES_LH): Ditto.
 | 
						|
	(SIO_GET_INTERFACE_LIST): Ditto.
 | 
						|
	(ws_freeaddrinfo): Rename from freeaddrinfo so as not to collide with
 | 
						|
	Winsock declaration.  Change througout.
 | 
						|
	(ws_getaddrinfo): Ditto.
 | 
						|
	(ws_getnameinfo): Ditto.
 | 
						|
	* select.cc: Include netdb.h after defining USE_SYS_TYPES_FD_SET.
 | 
						|
	* syslog.cc: Drop including netinet/in.h.  Define USE_SYS_TYPES_FD_SET
 | 
						|
	and include ws2tcpip.h.
 | 
						|
	* include/netdb.h (struct addrinfo): Don't define when building Cygwin.
 | 
						|
	* include/cygwin/if.h: Don't declare if_xxx functions when building
 | 
						|
	Cygwin.
 | 
						|
	* include/cygwin/in.h: Disable most definitions when building Cygwin.
 | 
						|
	* include/cygwin/socket.h: Disable sockaddr and sockaddr_storage
 | 
						|
	definitions when building Cygwin.  Same for MCAST_INCLUDE/MCAST_EXCLUDE.
 | 
						|
	* libc/inet_addr.c: Don't define __INSIDE_CYGWIN__ nor
 | 
						|
	__INSIDE_CYGWIN_NET__.
 | 
						|
	* libc/inet_network.c: Ditto.
 | 
						|
	* libc/minires.h: Drop redundant inclusion of netdb.h.  Define
 | 
						|
	__INSIDE_CYGWIN_NET__ only before including netdb.h and resolver
 | 
						|
	headers.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winbase.h: Throughout use LONG rather than long type to prepare for
 | 
						|
	64 bit.
 | 
						|
	(InterlockedCompareExchangePointer): Define.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_registry.cc (RegOpenUserClassesRoot): Only define when
 | 
						|
	building against w32api headers.
 | 
						|
	(RegOpenCurrentUser): Ditto.
 | 
						|
	* fhandler_tty.cc (GetNamedPipeClientProcessId): Ditto.
 | 
						|
	* ntdll.h (enum _PROCESSINFOCLASS): Add ProcessImageFileName.
 | 
						|
	(RtlInitAnsiString): Declare.
 | 
						|
	(RtlUnicodeStringToAnsiSize): Declare.
 | 
						|
	* sched.cc (GetForegroundWindow): Ditto.
 | 
						|
	* sec_helper.cc (SECURITY_NT_NON_UNIQUE): Define as
 | 
						|
	SECURITY_NT_NON_UNIQUE_RID when building against w32api headers.
 | 
						|
	(cygsid::get_sid): Use SECURITY_NT_NON_UNIQUE rather than
 | 
						|
	SECURITY_NT_NON_UNIQUE_RID.
 | 
						|
	(__sec_user): Use PISECURITY_DESCRIPTOR rather than PSECURITY_DESCRIPTOR
 | 
						|
	to allow valid pointer arithmetic.
 | 
						|
	(_recycler_sd): Ditto.
 | 
						|
	(_everyone_sd): Ditto.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* advapi32.cc (_ADVAPI32_): Drop definition.
 | 
						|
	* kernel32.cc (_KERNEL32_): Ditto.
 | 
						|
	* winlean.h: Add definitions required to use Mingw64 headers.
 | 
						|
	(FILE_SHARE_VALID_FLAGS): Drop definition.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winsup.h (_WIN32_WINNT): Define.  Explain why.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* libc/rcmd.cc: Don't undef __INSIDE_CYGWIN_NET__.
 | 
						|
 | 
						|
2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.sc (.rdata):  Include all sections starting with .rdata.
 | 
						|
	(.debug_pubtypes): Make sure section is loaded at the end like all other
 | 
						|
	debug sections.
 | 
						|
 | 
						|
2012-07-04  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dcrt0.cc (build_argv): Guard against NULL pointer dereference found
 | 
						|
	by Clang.
 | 
						|
 | 
						|
2012-07-04  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (setup_handler): Remove unneeded assignment found by
 | 
						|
	Clang.
 | 
						|
 | 
						|
2012-07-04  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* hookapi.cc (find_first_notloaded_dll): Remove unused assignment of
 | 
						|
	importRVASize found by Clang.
 | 
						|
 | 
						|
2012-07-04  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::read): Remove duplicate
 | 
						|
	assignment to bytes_in_pipe found by Clang.
 | 
						|
 | 
						|
2012-07-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (exception::handle): Use error_code in klog, as
 | 
						|
	intended.  Found by Clang.
 | 
						|
 | 
						|
2012-07-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (class fhandler_dev_clipboard): Remove member eof.
 | 
						|
	* fhandler_clipboard.cc: Throughout remove handling of eof member.
 | 
						|
	(fhandler_dev_clipboard::write): Handle EOF condition immediately,
 | 
						|
	rather than pushing it erroneously to the next read call.  Rearrange
 | 
						|
	code.  Fix bug in CF_UNICODETEXT case which potentially dropped single
 | 
						|
	bytes at the end of the buffer.  Add comment.
 | 
						|
	* strfuncs.cc (sys_cp_wcstombs): Allow returning non-NUL-terminated
 | 
						|
	buffer if dst != NULL and len == (size_t) -1.  Extend leading comment
 | 
						|
	to explain what's returned in more detail.
 | 
						|
 | 
						|
2012-07-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_virtual.cc (fhandler_virtual::opendir): Eliminate duplicate
 | 
						|
	assignment found by Clang.
 | 
						|
 | 
						|
2012-07-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_registry.cc (fhandler_registry::open): Handle missing EROFS
 | 
						|
	error condition pointed to by Clang.
 | 
						|
 | 
						|
2012-07-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (_pinfo::commune_request): Eliminate unneeded assignment
 | 
						|
	found by Clang.
 | 
						|
 | 
						|
2012-07-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* external.cc (fillout_pinfo): Return NULL rather than 0.
 | 
						|
	(exit_process): Guard against NULL pointer dereference found by Clang.
 | 
						|
 | 
						|
2012-07-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* mount.cc (mount_info::conv_to_win32_path): Eliminate unneeded
 | 
						|
	assignment found by Clang.
 | 
						|
 | 
						|
2012-07-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* path.cc (symlink_info::check): Remove unneeded/unused variable found
 | 
						|
	by Clang.
 | 
						|
 | 
						|
2012-07-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.cc (dll_list::alloc): Take long UNC paths into account.
 | 
						|
 | 
						|
2012-07-01  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* Makefile.in: Add some more optimization flags for cygwait, malloc and
 | 
						|
	path.  Explain why -fomit-frame-pointer doesn't work right for passwd.o
 | 
						|
	and path.o.  Add -static to link command line for cygwin0.dll.
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::facl): Reorganize slightly
 | 
						|
	to silence compiler warning when compiling with -fstack-check.
 | 
						|
	* net.cc (inet_ntop6): Initialize structure members to silence compiler
 | 
						|
	warning when compiling with -fstack-check.
 | 
						|
 | 
						|
	* pseudo-reloc.cc (_pei386_runtime_relocator): Make this a C function.
 | 
						|
	Detect NULL u.
 | 
						|
	* winsup.h (_pei386_runtime_relocator): Declare this as extern "C".
 | 
						|
	* lib/_cygwin_crt0_common.cc (_pei386_runtime_relocator): Call with
 | 
						|
	NULL argument.
 | 
						|
 | 
						|
	* signal.cc (sigaction_worker): Eliminate last argument.  Let callers
 | 
						|
	report their own strace info.  Regparmize.
 | 
						|
	(sigaction): Reflect sigaction_worker changes.
 | 
						|
	(siginterrupt): Ditto.
 | 
						|
 | 
						|
	* exceptions.cc: Update copyright.
 | 
						|
 | 
						|
2012-07-01  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* path.cc: Perform some whitespace fixups throughout.
 | 
						|
 | 
						|
2012-06-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* kernel32.cc (_KERNEL32_): Define.  Explain why.
 | 
						|
	(CreateFileMappingW): Drop undocumented flProtect flags.
 | 
						|
 | 
						|
2012-06-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_serial.cc: Fix includes for IOCTL codes to support Mingw64.
 | 
						|
	* fhandler_tape.cc: Ditto.
 | 
						|
	* flock.cc (allow_others_to_sync): Use PISECURITY_DESCRIPTOR since
 | 
						|
	PSECURITY_DESCRIPTOR is supposed to be the opaque type.
 | 
						|
	* ntdll.h: Remove CreateDisposition flags again, now that they are
 | 
						|
	defined in Mingw64's ntdef.h.  Ditto for Create/Open flags.
 | 
						|
 | 
						|
2012-06-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (RtlUnwind): Align declaration with MSDN.
 | 
						|
	* ntdll.h: Define CreateDisposition Flags.  Add comments.
 | 
						|
	* winlean.h: Define FILE_SHARE_VALID_FLAGS if using Mingw64 headers.
 | 
						|
 | 
						|
2012-06-27  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygwait.h (cancelable_wait): Make extern to avoid always including.
 | 
						|
	* select.cc (allocfd_set): Try to make a little more efficient.
 | 
						|
	(cygwin_select): Break into two functions to avoid what seems to be a
 | 
						|
	strange compiler problem with alloca and sel constructor.
 | 
						|
	(select): New function.  Always honor return from call_signal_handler.
 | 
						|
	(select_stuff::wait): Always honor return from call_signal_handler.
 | 
						|
	* select.h (select_stuff::select_stuff): Use NULL to initialize
 | 
						|
	pointers rather than 0.
 | 
						|
 | 
						|
2012-06-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (exception::handle): Cast exception code to NTSTATUS
 | 
						|
	for comparison.
 | 
						|
	* ntdll.h: Drop defining NT status codes in favor of including
 | 
						|
	ntstatus.h.
 | 
						|
 | 
						|
2012-06-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (WritePipeOverlapped): Define second parameter LPCVOID,
 | 
						|
	rather than PCVOID.
 | 
						|
	* miscfuncs.h (WritePipeOverlapped): Ditto.
 | 
						|
 | 
						|
2012-06-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* advapi32.cc (_ADVAPI32_): Define.  Explain why.
 | 
						|
	(ImpersonateNamedPipeClient): Add missing WINAPI.
 | 
						|
	* ntdll.h (STATUS_INVALID_PARAMETER): Only define if it isn't already.
 | 
						|
	(STATUS_DLL_NOT_FOUND): Ditto.
 | 
						|
	(STATUS_ENTRYPOINT_NOT_FOUND): Ditto.
 | 
						|
	(enum _EVENT_TYPE): Guard against redefinition since it's already
 | 
						|
	defined in Mingw64's ntdef.h.
 | 
						|
	(enum _TIMER_TYPE): Ditto.
 | 
						|
	(enum _SECTION_INHERIT): Define if using Mingw64 headers since it's
 | 
						|
	missing in Mingw64's ntdef.h.
 | 
						|
	* winlean.h (__STRALIGN_H_): Define before including windows.h.
 | 
						|
 | 
						|
2012-06-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winsup.h (GetLastError): Drop redundant definition.
 | 
						|
 | 
						|
2012-06-25  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygwait.cc (cancelable_wait): Make sure that timer is cancelled
 | 
						|
	before cancelling thread.
 | 
						|
 | 
						|
2012-06-25  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygwait.h (cancelable_wait): Need to force time to negative to
 | 
						|
	indicate relative time.
 | 
						|
 | 
						|
2012-06-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (realpath): Fix comment.
 | 
						|
 | 
						|
2012-06-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (realpath): Call mount_info::conv_to_posix_path rather than
 | 
						|
	mount_info::cygdrive_posix_path to convert DOS paths to POSIX paths.
 | 
						|
	Add comment to explain why that's necessary at all.
 | 
						|
 | 
						|
2012-06-18  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygwait.h (LARGE_NULL): Define.
 | 
						|
	(cancelable_wait): Define variant which accepts DWORD time argument.
 | 
						|
	(cygwait): Use cancelable_wait with DWORD argument.
 | 
						|
	(cygwait): Use cancelable_wait with DWORD argument and cw_sig_eintr for
 | 
						|
	timeout-only case.
 | 
						|
	* exceptions.cc (handle_sigsuspend): Use LARGE_NULL as second argument
 | 
						|
	to distinguish between cancelable_wait variants.
 | 
						|
	* thread.cc (pthread_mutex::lock): Ditto.
 | 
						|
	(pthread::join): Ditto.
 | 
						|
	(semaphore::_timedwait): Ditto.
 | 
						|
	* thread.h (fast_mutex::lock): Ditto.
 | 
						|
	* wait.cc (wait4): Ditto.
 | 
						|
 | 
						|
2012-06-18  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygwait.cc (cancelable_wait): Mimic old cygwait behavior more closely
 | 
						|
	wrt handling of call_signal_handler.
 | 
						|
	* cygwait.h (WAIT_CANCELED): Move here and redefine.
 | 
						|
	(WAIT_SIGNALED): Ditto.
 | 
						|
	* thread.h (WAIT_CANCELED): Delete.
 | 
						|
	(WAIT_SIGNALED): Ditto.
 | 
						|
 | 
						|
2012-06-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::init_installation_root): Rearrange code
 | 
						|
	creating valid native NT installation_root path.  Only strip last
 | 
						|
	backslash from path if the result is a valid NT path.  Explain why.
 | 
						|
 | 
						|
2012-06-17  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	Add '#include "cygwait.h"' throughout, where appropriate.
 | 
						|
	* DevNotes: Add entry cgf-000012.
 | 
						|
	* Makefile.in (DLL_OFILES): Add cygwait.o.
 | 
						|
	* sigproc.h: Remove cygwait definitions.
 | 
						|
	* cygwait.h: New file.  Define/declare Cygwin waitfor functions.
 | 
						|
	* cygwait.cc: Ditto.
 | 
						|
	* exceptions.cc: Include cygwait.h.
 | 
						|
	(handle_sigsuspend): Accommodate change in cancelable_wait arguments.
 | 
						|
	(sigpacket::process): Display thread tls in debugging output.
 | 
						|
	* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Use symbolic
 | 
						|
	names for signal and cancel return.
 | 
						|
	* fhandler_console.cc (fhandler_console::read): Ditto.
 | 
						|
	(fhandler_dev_dsp::Audio_out::waitforspace): Ditto.
 | 
						|
	fhandler_dev_dsp::Audio_in::waitfordata): Ditto.
 | 
						|
	* fhandler_fifo.cc (fhandler_fifo::wait): Ditto.
 | 
						|
	* fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::read): Ditto.
 | 
						|
	* select.cc (cygwin_select): Ditto.
 | 
						|
	* wait.cc (wait4): Ditto.
 | 
						|
	* thread.cc (cancelable_wait): Move definition to cygwait.h.
 | 
						|
	(pthread_cond::wait): Accommodate change in cancelable_wait arguments.
 | 
						|
	(pthread_mutex::lock): Ditto.
 | 
						|
	(pthread_spinlock::lock): Ditto.
 | 
						|
	(pthread::join): Ditto.
 | 
						|
	(pthread::thread_init_wrapper): Display tls in debugging output.
 | 
						|
	(semaphore::_timedwait): Ditto.
 | 
						|
	* thread.h (cw_sig_wait): Move to cygwait.h.
 | 
						|
	(cw_cancel_action): Delete.
 | 
						|
	(cancelable_wait): Move declaration to cygwait.h.
 | 
						|
 | 
						|
2012-06-11  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* regex/regcomp.c (p_ere): Allow vertical-line following
 | 
						|
	left-parenthesis in ERE, as in glibc.
 | 
						|
 | 
						|
2012-06-10  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* include/sys/elf_common.h (R_386_16): Define.
 | 
						|
	(R_386_PC16): Define.
 | 
						|
	(R_386_8): Define.
 | 
						|
	(R_386_PC8): Define.
 | 
						|
 | 
						|
2012-06-09  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.cc (cygwin_select): Remove select_timeout test.
 | 
						|
	(select_stuff::wait): Return select_set_zero on timeout.
 | 
						|
	(thread_socket): Report timeout when debugging.
 | 
						|
 | 
						|
2012-06-05  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* include/elf.h: Update from FreeBSD.
 | 
						|
	* include/machine/elf.h: New header, from FreeBSD.
 | 
						|
	* include/sys/elf.h: Ditto.
 | 
						|
	* include/sys/elf32.h: Update from FreeBSD.
 | 
						|
	* include/sys/elf64.h: Ditto.
 | 
						|
	* include/sys/elf_common.h: Ditto.
 | 
						|
	(R_IA64_*): Define Linux-style names as aliases to R_IA_64_*.
 | 
						|
	(R_SH_*): Define, based on sh-4 psABI.
 | 
						|
	(R_390_*): Define, based on s390x psABI.
 | 
						|
	* include/sys/elf_generic.h: Ditto.
 | 
						|
 | 
						|
2012-06-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::link ): Translate
 | 
						|
	STATUS_NOT_SUPPORTED to EPERM as well.
 | 
						|
 | 
						|
2012-06-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (dtable::dup3): Only return with lock set when O_EXCL flag
 | 
						|
	is passed in.
 | 
						|
	* syscalls.cc (dup_finish): Pass O_EXCL in flags to dtable::dup3.
 | 
						|
 | 
						|
2012-06-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000011.
 | 
						|
	* fhandler.h (fhandler_base::refcnt): Delete.
 | 
						|
	(fhandler_base::inc_refcnt): New function.
 | 
						|
	(fhandler_base::dec_refcnt): New function.
 | 
						|
	* cygheap.h (cygheap_fdnew::~cygheap_fdnew): Accommodate split of
 | 
						|
	refcnt to inc_refcnt/dec_refcnt.
 | 
						|
	(cygheap_fdget::cygheap_fdget): Ditto.
 | 
						|
	(cygheap_fdget::~cygheap_fdget::cygheap_fdget): Ditto.
 | 
						|
	* dtable.cc (dtable::release): Ditto.
 | 
						|
	(cygwin_attach_handle_to_fd): Ditto.
 | 
						|
	(dtable::init_std_file_from_handle): Ditto.
 | 
						|
	(dtable::dup3): On success, return with fdtab locked.
 | 
						|
	* dtable.h (dtable): Add dup_finish as a friend.
 | 
						|
	* syscalls.cc (dup_finish): Define new function.  Increment refcnt
 | 
						|
	while fdtab is locked.
 | 
						|
	(dup2): Use common dup_finish() to perform dup operation.
 | 
						|
	(dup3): Ditto.
 | 
						|
 | 
						|
2012-06-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* globals.cc (ro_u_refs): New R/O unicode string.
 | 
						|
	* mount.cc (fs_info::update): Recognize ReFS.
 | 
						|
	* mount.h (enum fs_info_type): Add refs.
 | 
						|
	(class fs_info): Add refs flag and accessor methods.
 | 
						|
	* ntdll.h (RtlAddAccessAllowedAceEx): Declare.
 | 
						|
	(RtlAddAccessDeniedAceEx): Declare.
 | 
						|
	* path.h (path_conv::fs_is_refs): Define.
 | 
						|
	* sec_helper.cc (_recycler_sd): New function to create security
 | 
						|
	descriptors suitable for the recycler bin starting with Vista.
 | 
						|
	* security.cc (add_access_allowed_ace): Use RtlAddAccessAllowedAceEx
 | 
						|
	and drop code to set AceFlags explicitely.
 | 
						|
	(add_access_denied_ace): Use RtlAddAccessDeniedAceEx and drop code to
 | 
						|
	set AceFlags explicitely.
 | 
						|
	* security.h (_recycler_sd): Declare.
 | 
						|
	(recycler_sd): Define.
 | 
						|
	* syscalls.cc (desktop_ini): Change formatting.
 | 
						|
	(desktop_ini_ext): Define third line of recycler desktop.ini file
 | 
						|
	since Vista,
 | 
						|
	(try_to_bin): Handle ReFS just like NTFS.  Write Vista and later
 | 
						|
	Recycler in all uppercase, just like shell32 does when recreating it.
 | 
						|
	Fix comments to include ReFS.  Don't implicitely reuse object
 | 
						|
	attributes from earlier NtOpenFile call, rather recreate it for safety.
 | 
						|
	Use recycler_sd call when creating security descriptor for Recycler
 | 
						|
	dirs and files on Vista and later.  Write third line of desktop.ini
 | 
						|
	when on Vista and later.
 | 
						|
 | 
						|
2012-06-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* winbase.h: Add missing copyright date.
 | 
						|
 | 
						|
2012-06-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.cc (cygwin_select): Make sure that we only return -1 as an
 | 
						|
	error return.
 | 
						|
	(select_stuff::wait): Semi-revert to previous method for filling out
 | 
						|
	w4.
 | 
						|
 | 
						|
2012-06-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* select.cc (cygwin_select): Add some comments.
 | 
						|
	(select_stuff::wait): Ditto.
 | 
						|
 | 
						|
2012-06-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000010.
 | 
						|
	* select.cc (set_handle_or_return_if_not_open): Remove unneeded final
 | 
						|
	backslash from definition.
 | 
						|
	(cygwin_select): Reorganize to incorporate outer retry loop.  Move
 | 
						|
	remaining time recalculation here for retry case.  Use
 | 
						|
	select_stuff::wait_states for loop control.
 | 
						|
	(select_stuff::cleanup): Avoid unneeded initialization.
 | 
						|
	(select_stuff::wait): Modify definition to return
 | 
						|
	select_stuff::wait_states.  Eliminate is_cancelable.  Don't inspect
 | 
						|
	element 1 of an array if it is a cancel handle.  Remove loop.  Rely on
 | 
						|
	being called from enclosing loop in cygwin_select.  Remove time
 | 
						|
	recalculation when restarting.  Try harder to always return from the
 | 
						|
	bottom.
 | 
						|
	* select.h (select_stuff::wait_state): New enum.
 | 
						|
	(select_stuff::wait): Modify declaration to return
 | 
						|
	select_stuff::wait_states.
 | 
						|
 | 
						|
2012-06-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (setup_handler): Make debugging output a little more
 | 
						|
	verbose.
 | 
						|
 | 
						|
2012-06-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygtls.h (_cygtls::protect_linked_list): Delete unused field.
 | 
						|
 | 
						|
2012-05-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* hookapi.cc (find_first_notloaded_dll): Extend comment.  Fix usage of
 | 
						|
	mapped memory.  Shorten static library name buffer to MAX_PATH.  Use
 | 
						|
	strlcpy to copy library name to buffer.  Only Unmap "map" if it has been
 | 
						|
	Mapped before.
 | 
						|
	* pinfo.cc (status_exit): Drop unneeded declaration of
 | 
						|
	find_first_notloaded_dll in favor of the declaration in winsup.h.
 | 
						|
 | 
						|
2012-05-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc: Remove temporary newlib workaround, now that newlib
 | 
						|
	handles thread cancellation by itself.
 | 
						|
	(class __cygwin_lock_handler): Remove.
 | 
						|
	(__cygwin_lock_cleanup): Remove.
 | 
						|
	(__cygwin_lock_lock): Revert newlib workaround,
 | 
						|
	(__cygwin_lock_trylock): Ditto.
 | 
						|
	(__cygwin_lock_unlock): Ditto.
 | 
						|
	(pthread::pop_cleanup_handler): Ditto.
 | 
						|
 | 
						|
2012-05-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* select.cc (select_stuff::wait): Temporarily disable restarting
 | 
						|
	entirely.
 | 
						|
 | 
						|
2012-05-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.h (cygsidlist::+=): Correctly copy well_known_sid info from
 | 
						|
	source cygsid.
 | 
						|
 | 
						|
2012-05-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* registry.cc (reg_key::build_reg): Fix typo in debug output.
 | 
						|
 | 
						|
2012-05-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* select.cc (select_stuff::wait): When not returning after receiving
 | 
						|
	a signal, recalculate timeout.  Apply temporary fix to avoid crashes
 | 
						|
	after calling the signal handler.  Explain.
 | 
						|
 | 
						|
2012-05-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_serial.cc (fhandler_serial::raw_read): Check for
 | 
						|
	ERROR_OPERATION_ABORTED rather than ERROR_IO_INCOMPLETE after CancelIo.
 | 
						|
 | 
						|
2012-05-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_serial.cc (fhandler_serial::raw_read): Just call ReadFile
 | 
						|
	directly in case of non-blocking I/O and handle result gracefully.
 | 
						|
 | 
						|
2012-05-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (__cygwin_lock_lock): Replace null thread check with test
 | 
						|
	for cygwin_finished_initializing to handle process startup.
 | 
						|
	(__cygwin_lock_trylock): Ditto.
 | 
						|
	(__cygwin_lock_unlock): Ditto.
 | 
						|
 | 
						|
2012-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (__cygwin_lock_lock): Take null thread at process startup
 | 
						|
	into account.
 | 
						|
	(__cygwin_lock_trylock): Ditto.
 | 
						|
	(__cygwin_lock_unlock): Ditto.
 | 
						|
 | 
						|
2012-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::cancel): Re-allow asynchronous cancellation from
 | 
						|
	Cygwin code since it looks like the problem is Windows only.
 | 
						|
 | 
						|
2012-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc: Add a temporary workaround to help Cygwin along while
 | 
						|
	newlib doesn't install cleanup handlers.  Explain the problem.
 | 
						|
	(class __cygwin_lock_handler): New class.
 | 
						|
	(__cygwin_lock_cleanup): New function.
 | 
						|
	(__cygwin_lock_lock): Push __cygwin_lock_cleanup thread cleanup
 | 
						|
	handler.
 | 
						|
	(__cygwin_lock_trylock): Ditto.
 | 
						|
	(__cygwin_lock_unlock): Pop thread cleanup handler.
 | 
						|
	(pthread::pop_cleanup_handler): Temporarily allow cleanup function to
 | 
						|
	destroy cleanup handler so we can pop in another function than we
 | 
						|
	pushed in.
 | 
						|
 | 
						|
2012-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::cancel): Only allow asynchronous cancellation
 | 
						|
	if the thread is not executing Cygwin or Windows code.  Explain why.
 | 
						|
 | 
						|
2012-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::precreate): Make sure mutex is recursive.
 | 
						|
	Explain why.
 | 
						|
 | 
						|
2012-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::pop_cleanup_handler): Move setting the cancelstate
 | 
						|
	to PTHREAD_CANCEL_DISABLE from here...
 | 
						|
	(pthread::pop_all_cleanup_handlers): ...to here, otherwise any explicit
 | 
						|
	call to pthread_cleanup_pop disables cancellation for this thread.
 | 
						|
 | 
						|
2012-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (refcnt): Add i interlocked.  Explain why.
 | 
						|
	* winbase.h (ilockadd): New function.
 | 
						|
	(InterlockedAdd): Define as ilockadd.
 | 
						|
 | 
						|
2012-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* devices.in: Fix native name of /dev/kmem.
 | 
						|
	* devices.cc: Regenerate.
 | 
						|
	* dtable.cc (fh_alloc): Don't forget FH_KMEM.
 | 
						|
	* fhandler_mem.cc (fhandler_dev_mem::open): Set errno to EACCES rather
 | 
						|
	than ENOENT on systems not granting access to physical memory from
 | 
						|
	user space.
 | 
						|
 | 
						|
2012-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::cancel): Set thread's cancel_event in
 | 
						|
	PTHREAD_CANCEL_ASYNCHRONOUS case, too.  Explain why.
 | 
						|
 | 
						|
2012-05-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* strace.cc (strace::activate): Move printing heap size from here...
 | 
						|
	* heap.cc (heap_init_info): ...to here.  Explain why.  Print heap
 | 
						|
	size in hex and decimal.
 | 
						|
 | 
						|
2012-05-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (cygwin_recvfrom): Don't shortcircuit if len == 0.  Add comment
 | 
						|
	to explain why.
 | 
						|
	(cygwin_recv): Ditto.
 | 
						|
	(cygwin_recvmsg): Ditto.
 | 
						|
 | 
						|
2012-05-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (path_conv::isgood_inode): Rearrange, take
 | 
						|
	Samba versions >= 3.5.4 into account, add comments.
 | 
						|
 | 
						|
2012-05-16  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000009.
 | 
						|
	* smallprint.cc (__small_vsprintf): Always treat '%c' and '%C' as
 | 
						|
	characters.  Don't decode them if they are > 127.
 | 
						|
	(__small_vswprintf): Ditto.
 | 
						|
 | 
						|
2012-05-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000008.
 | 
						|
	* fhandler_tty.cc (bytes_available): Simplify by returning the number
 | 
						|
	of bytes available in the message unless that is zero.
 | 
						|
 | 
						|
2012-05-14  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* child_info.h (CURR_CHILD_INFO_MAGIC): Update.
 | 
						|
 | 
						|
2012-05-14  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000007.
 | 
						|
	* child_info.h (child_info_spawn::parent_winpid): Declare new field.
 | 
						|
	(child_info_spawn::get_parent_handle): Declare new function.
 | 
						|
	* dcrt0.cc (child_info_spawn::get_parent_handle): Define new function.
 | 
						|
	(child_info_spawn::handle_spawn): Recreate parent handle if possible
 | 
						|
	when dynamically loaded.  Don't mess with parent handle if it's NULL.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Set parent_winpid appropriately.
 | 
						|
 | 
						|
2012-05-12  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000006.
 | 
						|
	* thread.cc (pthread::pop_cleanup_handler): Set cancel state to
 | 
						|
	disabled to avoid recursively waiting for cancel.
 | 
						|
 | 
						|
2012-05-12  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000005.
 | 
						|
	* fhandler.h (PIPE_ADD_PID): Redefine to something we actually DON'T
 | 
						|
	use.
 | 
						|
	* pipe.cc (fhandler_pipe::create): Avoid clearing all open_mode bits
 | 
						|
	when checking for PIPE_ADD_PID.  Properly keep track of len so that
 | 
						|
	passed in name is not overwritten.
 | 
						|
 | 
						|
2012-05-10  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* cygwin.din (memrchr): Export.
 | 
						|
	* posix.sgml (std-gnu): Add memrchr.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2012-05-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 16.
 | 
						|
 | 
						|
2012-05-08  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000004.
 | 
						|
	* pinfo.cc (pinfo::init): Reuse shared memory if the state is marked
 | 
						|
	with PID_REAPED.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Don't duplicate myself_pinfo
 | 
						|
	into non-cygwin child.
 | 
						|
 | 
						|
	* fork.cc (frok::parent): Improve error output.
 | 
						|
 | 
						|
2012-05-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000003.
 | 
						|
	* cygheap.h (init_cygheap::pid_handle): Delete.
 | 
						|
	* dcrt0.cc (child_info_spawn::handle_spawn): Keep parent open if we
 | 
						|
	have execed.
 | 
						|
	* pinfo.cc (pinfo::thisproc): Remove pid_handle manipulations.
 | 
						|
	(pinfo::init): Don't consider a reaped process to be available.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Remove pid_handle manipulations.
 | 
						|
	Make wr_proc_pipe and parent noninheritable when starting a program
 | 
						|
	which doesn't use the Cygwin DLL.  Conditionally reset wr_proc_pipe to
 | 
						|
	inheritable if CreateProcess fails.  Inject wr_proc_pipe handle into
 | 
						|
	non-Cygwin process.  Consider a non-cygwin process to be 'synced'.
 | 
						|
 | 
						|
2012-05-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000002.
 | 
						|
	* fhandler_tty.cc (bytes_available): Revert to previous Oct-2011
 | 
						|
	behavior where a dummy buffer is used to determine how many bytes will
 | 
						|
	be read.
 | 
						|
	(fhandler_pty_master::ioctl): Correct coercion in assignment.
 | 
						|
 | 
						|
2012-05-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (get_adapters_addresses): Only create thread on affected
 | 
						|
	systems.  Change comment acordingly.
 | 
						|
	* wincap.h (wincaps::has_gaa_largeaddress_bug): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
	(wincap_8): New globale wincaps to support Windows 8.
 | 
						|
	(wincapc::init): Take Windows 8 into account.  Set new
 | 
						|
	has_gaa_largeaddress_bug member to false on 32 bit systems.
 | 
						|
 | 
						|
2012-05-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: New file.  Add entry cgf-000001.
 | 
						|
	* sigproc.cc (proc_terminate): Don't set parent pid of child to 1 if
 | 
						|
	we've execed since the execed process is still considered the parent.
 | 
						|
 | 
						|
	* child_info.h: Bump copyright.
 | 
						|
 | 
						|
2012-05-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fenv.cc (fesetround): Fix test for valid input parameter.
 | 
						|
	(fesetprec): Ditto.
 | 
						|
 | 
						|
2012-04-30  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (PIPE_ADD_PID): Define new flag.
 | 
						|
	* pipe.cc (fhandler_pipe::create): Don't indiscriminately add process
 | 
						|
	id to every pipe since some pipe names (fifo, tty) don't need it.
 | 
						|
	* sigproc.cc (sigproc_init): Pass PIPE_ADD_PID to fhandler_pipe::create
 | 
						|
	to ensure that pid is always part of sigwait pipe name.
 | 
						|
 | 
						|
2012-04-28  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* environ.cc (struct parse_thing): Add "pipe_byte" option.
 | 
						|
	* globals.cc (pipe_byte): Declare.
 | 
						|
	* pipe.cc (fhandler_pipe::create): Use current process id in pipe name
 | 
						|
	rather than pid for simple name collision avoidance.  Do this only once
 | 
						|
	to avoid extra overhead when a busy pipe is found.  Honor pipe_byte to
 | 
						|
	create non-message pipes if set.
 | 
						|
	* sigproc.cc (sigproc_init): Use a specific name for the signal pipe.
 | 
						|
 | 
						|
2012-04-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (find_fast_cwd_pointer): Fix for W8 CP 32 bit.
 | 
						|
 | 
						|
2012-04-25  Thomas Wolff  <towo@towo.net>
 | 
						|
 | 
						|
	* fhandler.h (class dev_console): Add member ext_mouse_mode5.
 | 
						|
	* fhandler_console.cc (fhandler_console::read): Implement extended
 | 
						|
	mouse mode 1005 (xterm, mintty).
 | 
						|
	Fix actual mouse reporting for large coordinates.
 | 
						|
 | 
						|
2012-04-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 15.
 | 
						|
 | 
						|
2012-04-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_console.cc (ALT_PRESSED): Define earlier, never undefine.
 | 
						|
	(CTRL_PRESSED): Ditto.
 | 
						|
	(fhandler_console::read): Simplify expressions testing for pressed ALT
 | 
						|
	or CTRL modifier keys.
 | 
						|
	(get_nonascii_key): Ditto.
 | 
						|
 | 
						|
2012-04-24  Thomas Wolff  <towo@towo.net>
 | 
						|
 | 
						|
	* fhandler.h (class dev_console): Add members ext_mouse_mode6 and
 | 
						|
	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.
 | 
						|
 | 
						|
2012-04-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (fh_alloc): Only disallow opening of nonexistent on-disk
 | 
						|
	device.
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-04-19  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (fh_alloc): Keep fh which was flagged as error if it is for
 | 
						|
	an 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.
 | 
						|
 | 
						|
2012-04-18  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_base::nohandle): Revert to standard
 | 
						|
	implementation.
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-04-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* wincap.h: Rename assitant to assistant throughout.
 | 
						|
	* wincap.cc: Ditto.
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-04-12  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* devices.in (exists_console): Allow /dev/con{sole,in,out} to be
 | 
						|
	referenced if a console exists.
 | 
						|
	* devices.cc: Regenerate.
 | 
						|
	* fhandler_console.cc (fhandler_console::set_unit): Ditto.
 | 
						|
 | 
						|
2012-04-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (fhandler_base::stat_fixup): Fix inode numbers of
 | 
						|
	non-device files in virtual fileysystems.
 | 
						|
 | 
						|
2012-04-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (cygwin_attach_handle_to_fd): Defend against NULL return
 | 
						|
	from build_fh_*.
 | 
						|
	(dtable::init_std_file_from_handle): Ditto.
 | 
						|
	* mmap.cc (mmap_record::alloc_fh): Ditto.
 | 
						|
	* path.cc (path_conv::check): Ditto.
 | 
						|
 | 
						|
2012-04-06  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_base::nohandle): Implement "by hand" rather than
 | 
						|
	through macro.  Set io_handle to INVALID_HANDLE_VALUE when setting flag
 | 
						|
	to true.
 | 
						|
 | 
						|
2012-04-06  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* path.c (path_conv::check): Avoid directly referencing fields of the
 | 
						|
	dev structure when it can be easily avoided.
 | 
						|
 | 
						|
2012-04-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 14.
 | 
						|
 | 
						|
2012-04-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (pwdgrp::read_passwd): Fix pretty_ls entry typo contain
 | 
						|
	the required number of colons.
 | 
						|
 | 
						|
2012-04-04  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_pty_common::bytes_available): Declare new
 | 
						|
	function.
 | 
						|
	(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.  Clean up
 | 
						|
	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.
 | 
						|
 | 
						|
2012-04-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_nodevice.cc (fhandler_nodevice::open): Convert EROFS to
 | 
						|
	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.
 | 
						|
 | 
						|
2012-04-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (path_conv::check): Convert device type to FH_FS for
 | 
						|
	non-existent files on /dev, unless /dev itself doesn't exist on disk.
 | 
						|
	Add comment to explain why.
 | 
						|
 | 
						|
2012-04-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* hookapi.cc (rvadelta): Compute max_size using SizeOfRawData rather
 | 
						|
	than VirtualSize.
 | 
						|
 | 
						|
2012-04-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (_getpass_close_fd): New static pthread cleanup handler.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-04-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 13.
 | 
						|
 | 
						|
2012-04-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (fhandler_base::stat_fixup): Replace string comparison
 | 
						|
	with new device::is_dev_resident() call.
 | 
						|
 | 
						|
2012-04-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* devices.h (lives_in_dev): New field.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-04-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* devices.h (device::get_device): New method.
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-04-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_base::stat_fixup): Rename from
 | 
						|
	fhandler_base::set_ino_and_dev.
 | 
						|
	* syscalls.cc (fhandler_base::stat_fixup): Ditto. Accommodate name
 | 
						|
	change throughout.  Fixup link count of console devices.
 | 
						|
 | 
						|
2012-04-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* devices.h (FH_CYGDRIVE): Define as DEV_VIRTFS_MAJOR class device.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-04-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* devices.h (FH_DEV): Define as DEV_VIRTFS_MAJOR class device.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-04-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_base::set_ino_and_dev): Declare.
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-04-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_dev::open): Declare.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-04-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mount.cc (fillout_mntent): Use "none" rather than 0 when checking
 | 
						|
	FS type.
 | 
						|
 | 
						|
2012-04-01  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (dtable::fixup_close): Define new function.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-04-01  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_dev.cc (fhandler_dev::readdir): Fix formatting.  Simplify
 | 
						|
	code.  Use device::type() to fetch dirent compatible device type.
 | 
						|
	Add comment.
 | 
						|
 | 
						|
2012-03-31  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* devices.h (device::exists_func): Redefine field.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-03-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* devices.cc: Regenerate.
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-03-30  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-03-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* posix.sgml (std-notes): Change description of flock restrictions.
 | 
						|
 | 
						|
2012-03-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* devices.h (DEV_TTY_MAJOR): Define, use throughout where appropriate.
 | 
						|
	(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.
 | 
						|
 | 
						|
2012-03-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Add fhandler_dev.o.
 | 
						|
	* 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.
 | 
						|
 | 
						|
2012-03-29  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::set_unit): Don't succeed
 | 
						|
	unless we are opening a console actually associated with this process.
 | 
						|
 | 
						|
2012-03-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_acl.cc (acl32): Fix potential crash if build_fh_name returns NULL.
 | 
						|
 | 
						|
2012-03-29  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (ctrl_c_handler): Don't generate a SIGINT if we've
 | 
						|
	execed a non-cygwin process.  Let the Windows process deal with it
 | 
						|
	itself.
 | 
						|
 | 
						|
2012-03-28  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (proc_terminate): Avoid releasing myself.
 | 
						|
 | 
						|
2012-03-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* times.cc (clock_setres): Set minperiod to period.
 | 
						|
 | 
						|
2012-03-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_process.cc (process_tab): Add entry for mountinfo.
 | 
						|
	(format_process_mountstuff): New function, derived from
 | 
						|
	format_process_mounts.  Only open another user's user_info shared
 | 
						|
	memory area if the process is owned by another user.  Actually
 | 
						|
	access the opened shared user_info to get the right mount table.
 | 
						|
	For other users, don't print remote cygdrive mount points.  Print
 | 
						|
	mountinfo or mounts output depending on the bool mountinfo argument.
 | 
						|
	(format_process_mounts): Just call format_process_mountstuff with
 | 
						|
	mountinfo set to false.
 | 
						|
	(format_process_mountinfo): Ditto with mountinfo set to true.
 | 
						|
 | 
						|
2012-03-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* times.cc (clock_setres): Revert previous change.
 | 
						|
 | 
						|
2012-03-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (class fhandler_dev_clipboard): Add fstat method.
 | 
						|
	* fhandler_clipboard.cc (cygcb_t): New type for Cygwin-specific
 | 
						|
	clipboard format.
 | 
						|
	(set_clipboard): Use new clipboard format to allow setting a timestamp.
 | 
						|
	(fhandler_dev_clipboard::fstat): New method.  Read modification and
 | 
						|
	access timestamp as well as length from clipboard data.
 | 
						|
	(fhandler_dev_clipboard::read): Use new clipboard format.
 | 
						|
 | 
						|
2012-03-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* hires.h (hires_ms::dmsecs): Drop unused method.
 | 
						|
	* times.cc (JITTER): Remove.
 | 
						|
	(gtod): Revert to process-local variable.
 | 
						|
	(hires_ms::nsecs): Just return system time to disallow discrepancy with
 | 
						|
	the OS.
 | 
						|
	(hires_ms::resolution): Return coarsest timer value from OS.  Add
 | 
						|
	comment to explain why.
 | 
						|
	(clock_setres): Ditto.
 | 
						|
 | 
						|
2012-03-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* child_info.h: Reset magic number.
 | 
						|
 | 
						|
2012-03-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* child_info.h (child_info::postfork): Define new function.
 | 
						|
	* fork.cc (frok::parent): Call postfork to do all of the manipulation
 | 
						|
	required prior to calling pinfo::remember.
 | 
						|
	* pinfo.h (pinfo::set_rd_proc_pipe): Just set pinfo's rd_proc_pipe.
 | 
						|
	Don't bother setting it to NULL.
 | 
						|
	* sigproc.cc (child_info_spawn::wait_for_myself): Call postfork to set
 | 
						|
	up myself for waiting.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Avoid now-unnecessary global
 | 
						|
	lock.  Consistently test mode rather than chtype when making
 | 
						|
	wr_proc_pipe decisions.  Call postfork() to set up stuff prior to
 | 
						|
	pinfo::remember.
 | 
						|
 | 
						|
2012-03-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.cc (well_known_dlls): Add advapi32.dll.
 | 
						|
 | 
						|
2012-03-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* child_info.h: Reset magic number.
 | 
						|
	(child_info_spawn::wait_for_myself): Move function to sigproc.cc.
 | 
						|
	* pinfo.cc (is_toplevel_proc): Delete unneeded variable.
 | 
						|
	* sigproc.cc (child_info_spawn::wait_for_myself): Move function from
 | 
						|
	header to here.  Do all setup required to properly wait for top-level
 | 
						|
	execed process to exit.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Attempt to properly handle
 | 
						|
	_P_DETACH.  Set wr_proc_pipe if top-level process even when execing.
 | 
						|
	Just call wait_for_myself() to...  wait for myself.  Don't call cleanup
 | 
						|
	twice.
 | 
						|
 | 
						|
2012-03-21  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (proc_waiter): Remove debugging.
 | 
						|
 | 
						|
2012-03-20  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (set_std_handle): Call SetStdHandle with NULL if fd is
 | 
						|
	closed.
 | 
						|
	(dtable::release): "Close" standard handle if appropriate.
 | 
						|
	* dcrt0.cc (dll_crt0_0): Fix minor switch formatting problem.
 | 
						|
	* fork.cc (frok::parent): Make minor comment indentation change.
 | 
						|
 | 
						|
2012-03-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (lseek): Fix debug output.
 | 
						|
 | 
						|
2012-03-20  Christian Franke  <franke@computer.org>
 | 
						|
 | 
						|
	* ntdll.h (SharedUserData): Add volatile qualifier. This fixes a
 | 
						|
	possible infinite loop in hires_ms::timeGetTime_ns.
 | 
						|
 | 
						|
2012-03-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/socket.h: Fix definitions of MCAST_INCLUDE and
 | 
						|
	MCAST_EXCLUDE.
 | 
						|
 | 
						|
2012-03-20  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
 | 
						|
	(child_info::rd_proc_pipe): Declare new field.
 | 
						|
	(child_info::wr_proc_pipe): Ditto.
 | 
						|
	(child_info::prefork): Declare new function, derived from previous
 | 
						|
	pinfo version.
 | 
						|
	* dcrt0.cc (child_info_fork::handle_fork): Close previous wr_proc_pipe
 | 
						|
	when appropriate and assign new one from passed-in child_info block.
 | 
						|
	(child_info_spawn::handle_spawn): Assign our wr_proc_pipe handle from
 | 
						|
	passed-in child_info block.
 | 
						|
	* fork.cc (child_info::prefork): Define new function.
 | 
						|
	(frok::child): Clear rd_proc_pipe and wr_proc_pipe so they will not be
 | 
						|
	closed by the child_info destructor.
 | 
						|
	(frok::parent): Use child_info prefork handling, outside of retry loop.
 | 
						|
	Set rd_proc_pipe in child's pinfo after successful CreateProcess.
 | 
						|
	Eliminate postfork call.
 | 
						|
	* globals.cc (my_wr_proc_pipe): Define/declare new variable.
 | 
						|
	* pinfo.cc (pinfo::pending_rd_proc_pipe): Delete.
 | 
						|
	(pinfo::pending_wr_proc_pipe): Ditto.
 | 
						|
	(pinfo::prefork): Ditto.
 | 
						|
	(pinfo::postfork): Ditto.
 | 
						|
	(pinfo::postexec): Ditto.
 | 
						|
	(pinfo::wait): Assume that rd_proc_pipe is set up correctly prior to
 | 
						|
	call.
 | 
						|
	(_pinfo::alert_parent): Replace "wr_proc_pipe" with "my_wr_proc_pipe".
 | 
						|
	* pinfo.h (_pinfo::_wr_proc_pipe): Delete declaration.
 | 
						|
	(_pinfo::set_rd_proc_pipe): Define new function.
 | 
						|
	(pinfo::pending_rd_proc_pipe): Delete declaration.
 | 
						|
	(pinfo::pending_wr_proc_pipe): Ditto.
 | 
						|
	(pinfo::prefork): Ditto.
 | 
						|
	(pinfo::postfork): Ditto.
 | 
						|
	(pinfo::postexec): Ditto.
 | 
						|
	(pinfo::wr_proc_pipe): Ditto.
 | 
						|
	* sigproc.cc (child_info::child_info): Clear rd_proc_pipe and
 | 
						|
	wr_proc_pipe.
 | 
						|
	(child_info::cleanup): Close rd_proc_pipe and
 | 
						|
	wr_proc_pipe if necessary.
 | 
						|
	(child_info_fork::child_info_fork): Set forker_finished to NULL by
 | 
						|
	default.
 | 
						|
	(child_info_spawn::child_info_spawn): Use my_wr_proc_pipe rather than
 | 
						|
	myself->wr_proc_pipe.
 | 
						|
	(child_info::sync): Ditto.
 | 
						|
	(child_info_spawn::cleanup): Call child_info::cleanup.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Remove call to myself.prefork().
 | 
						|
	Set wr_proc_pipe when execing or set up new rd_proc_pipe/wr_proc_pipe
 | 
						|
	via child_info::prefork when spawning.  Remove call to pinfo::postexec.
 | 
						|
	Set rd_proc_pipe in child pinfo when spawning.  Use my_wr_proc_pipe
 | 
						|
	rather than myself->wr_proc_pipe.  Remove call to postfork.
 | 
						|
 | 
						|
2012-03-19  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (pinfo_init): Cosmetic change: unset "destroy" for myself.
 | 
						|
	(pinfo::wait): Change some comments.
 | 
						|
	(pinfo::prefork): Move a comment.
 | 
						|
	(pinfo::postfork): Set pending_*_pipe variables to NULL if closed.
 | 
						|
	(pinfo::postexec): Use right name when closing handle.
 | 
						|
	(_pinfo::alert_parent): Ditto.
 | 
						|
	* sigproc.h (hold_everything): Remove debugging label.
 | 
						|
 | 
						|
2012-03-19  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygserver_ipc.h: Include sigproc.h for signal_arrived declaration.
 | 
						|
 | 
						|
2012-03-19  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygprops.h: Use #pragma once.
 | 
						|
	* mkglobals_h: Ditto for generated globals.h file.
 | 
						|
	* globals.cc: Use specific NO_GLOBALS_H flag to control inclusion of
 | 
						|
	globals.h.
 | 
						|
	* winsup.h: Honor NO_GLOBALS_H to control inclusion of globals.h.  Make
 | 
						|
	clear_procimptoken extern inline so that it is only defined when
 | 
						|
	needed.
 | 
						|
 | 
						|
2012-03-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (cancelable_wait): Don't malloc tbi, just make it a struct
 | 
						|
	on the stack to avoid memory leak.
 | 
						|
 | 
						|
2012-03-19  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (pinfo::wait): Handle case where prefork was not called
 | 
						|
	prior to calling wait().  This is the case when we are reabsorbing
 | 
						|
	processes after being execed.
 | 
						|
 | 
						|
2012-03-16  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fork.cc (lock_signals): Move to sigproc.h.
 | 
						|
	(lock_pthread): Ditto.
 | 
						|
	(hold_everything): Ditto.
 | 
						|
	(frok::parent): Call myself.prefork() just before calling
 | 
						|
	CreateProcess.  Call myself.postfork () on function exit.
 | 
						|
	* pinfo.cc (pinfo::pending_rd_proc_pipe): Define.
 | 
						|
	(pinfo::pending_wr_proc_pipe): Ditto.
 | 
						|
	(_pinfo::dup_proc_pipe): Delete.
 | 
						|
	(pinfo::wait): Move pipe creation into pinfo::prefork.  Set pipe
 | 
						|
	variables from pending_*.
 | 
						|
	(_pinfo::sync_proc_pipe): Delete.
 | 
						|
	(_pinfo::proc_pipe_owner): Ditto.
 | 
						|
	(pinfo::prefork): Define new function.
 | 
						|
	(pinfo::postfork): Ditto.
 | 
						|
	(pinfo::postexec): Ditto.
 | 
						|
	(_pinfo::alert_parent): Remove obsolete call to sync_proc_pipe.
 | 
						|
	(_pinfo::dup_proc_pipe): Delete declaration.
 | 
						|
	(_pinfo::sync_proc_pipe): Ditto.
 | 
						|
	(pinfo::pending_rd_proc_pipe): Declare.
 | 
						|
	(pinfo::pending_wr_proc_pipe): Ditto.
 | 
						|
	(pinfo::prefork): Declare new function.
 | 
						|
	(pinfo::postfork): Ditto.
 | 
						|
	(pinfo::postexec): Ditto.
 | 
						|
	(pinfo::wr_proc_pipe): Define new wrapper function.
 | 
						|
	* sigproc.h: Include "sync.h".  Move locking functions from fork to
 | 
						|
	here.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Delete now-unneeded requirement
 | 
						|
	to record orig_wr_proc_pipe.  Call hold_everything prior to doing
 | 
						|
	anything.  Call myself.prefork() if spawning.  Replace wr_proc_pipe
 | 
						|
	synchronization with call to myself.postexec().  Call myself.postfork()
 | 
						|
	if not execing.
 | 
						|
	* sync.h: Replace #ifdef wrapper with "#pragma once".
 | 
						|
 | 
						|
2012-03-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* hookapi.cc (hook_or_detect_cygwin): Change condition when to use
 | 
						|
	importRVAMaxSize or importRVASize for the mapping size.  Make sure
 | 
						|
	to map never more than the section size.  Change comments accordingly.
 | 
						|
 | 
						|
2012-03-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/netdb.h (h_errno): Add self-referencing macro and comment.
 | 
						|
 | 
						|
2012-03-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
	    Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (wait_return): Add overlapped_nullread.
 | 
						|
	* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Detect
 | 
						|
	zero-byte read as a special case.
 | 
						|
	(fhandler_base_overlapped::raw_read): Keep looping when zero-byte read
 | 
						|
	detected without EOF.
 | 
						|
	(fhandler_base_overlapped::raw_write): Quiet gcc warning by adding
 | 
						|
	overlapped_nullread to switch statement even though it will never
 | 
						|
	actually be hit.
 | 
						|
 | 
						|
2012-03-10  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (fh_alloc): Treat pc.dev as unsigned.
 | 
						|
	* fhandler_console.cc (fhandler_console::set_unit): Use lock always to
 | 
						|
	avoid races between competing cygwin processes running on the console.
 | 
						|
 | 
						|
2012-03-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* hookapi.cc (find_first_notloaded_dll): Fix a compiler warning.
 | 
						|
 | 
						|
2012-03-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* hookapi.cc (rvadelta): Add parameter to return maximum available
 | 
						|
	size from start of import RVA table to end of section.
 | 
						|
	(find_first_notloaded_dll): Take big executables into account.  Use
 | 
						|
	offset and size computation as in hook_or_detect_cygwin, just simpler.
 | 
						|
	(hook_or_detect_cygwin): Return NULL rather than false througout.
 | 
						|
	Change computation of required mapping size to take non-gcc compilers
 | 
						|
	into account.  Explain the differences and what we do against them.
 | 
						|
	Don't alloca buf if fn is NULL.  Never use buf if fn is NULL.
 | 
						|
 | 
						|
2012-03-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (call_gaa): New thread function to call GetAdaptersAddresses.
 | 
						|
	(get_adapters_addresses): Call call_gaa.  If necessary, call it as
 | 
						|
	child thread.  Explain why that's necessary.
 | 
						|
 | 
						|
2012-03-08  Václav Zeman  <vhaisman@gmail.com>
 | 
						|
 | 
						|
	* path.cc (readlink): Avoid calling strlen() twice.
 | 
						|
 | 
						|
2012-03-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Throughout, replace usage of w32api's min with MIN from sys/param.h.
 | 
						|
 | 
						|
2012-03-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (_pinfo::dup_proc_pipe): Reorganize to provide more
 | 
						|
	information for failing condition.
 | 
						|
	(pinfo::wait): Pass name of function to dup_proc_pipe.  Eliminate error
 | 
						|
	check for dup_proc_pipe since it never actually returned an error.
 | 
						|
	* pinfo.h (_pinfo::dup_proc_pipe): Add an argument.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Pass name of function to
 | 
						|
	dup_proc_pipe.
 | 
						|
 | 
						|
2012-03-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* glob.cc (MAXPATHLEN): Reinstantiate with a value of 8192.
 | 
						|
 | 
						|
2012-03-05  Denis Excoffier  <cygwin@Denis-Excoffier.org>
 | 
						|
 | 
						|
	* pinfo.cc (_pinfo::dup_proc_pipe): Fix order of arguments in debug
 | 
						|
	output.
 | 
						|
 | 
						|
2012-03-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* init.cc (dll_entry): Move wincap.init call back from here...
 | 
						|
	* dcrt0.cc (dll_crt0_0): ...to here.
 | 
						|
 | 
						|
2012-03-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (enum fcwd_version_t): Move here from path.cc.
 | 
						|
	(class fcwd_access_t): Ditto.  Only declare methods.
 | 
						|
	(class cwdstuff): Move fast_cwd_ptr and fast_cwd_version from shared
 | 
						|
	DLL section here.
 | 
						|
	* path.cc: Keep fcwd_access_t method definitions.
 | 
						|
	(fcwd_access_t::fast_cwd_version): New method.
 | 
						|
	(find_fast_cwd_pointer): Change comment.  Mention test on W8CP.
 | 
						|
	(cwdstuff::init): Initialize fast_cwd_ptr and fast_cwd_version.
 | 
						|
 | 
						|
2012-03-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.cc (dll_list::operator[]): Extend comment a bit more to
 | 
						|
	explain previous patch.
 | 
						|
 | 
						|
2012-03-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.cc (dll_list::alloc): Compare linked DLLs by basename only.
 | 
						|
	Explain why.  Add code to check if a DLL with the same basename but
 | 
						|
	different path is the same DLL.  Bail out if not.
 | 
						|
	(in_load_after_fork): New static NO_COPY bool to allow to differ
 | 
						|
	between linked and loaded DLL at fork.
 | 
						|
	(dll_list::load_after_fork): Set in_load_after_fork accordingly.
 | 
						|
	(dll_dllcrt0_1): Don't treat DLL as linked if in_load_after_fork is set.
 | 
						|
	Drop test for in_forkee.
 | 
						|
 | 
						|
2012-03-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.cc: Revert pathname changes from 2012-02-08.
 | 
						|
	(dll_list::operator[]): Add long comment to explain the misery.
 | 
						|
	(dll_list::alloc): Skip long pathname prefix potentially returned by
 | 
						|
	GetModuleFileNameW.
 | 
						|
	* dll_init.h (dll_list::find_by_modname): Add back declaration.
 | 
						|
 | 
						|
2012-03-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winver.rc: Bump copyright date.
 | 
						|
 | 
						|
2012-03-03  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::dup): Only set ctty when we
 | 
						|
	haven't specifically called setsid.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::dup): Ditto.  Also add comment
 | 
						|
	documenting research into rxvt problem.
 | 
						|
	* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Don't check
 | 
						|
	specifically for myself->ctty == -1.  Test for > 0 as that is the
 | 
						|
	correct test.
 | 
						|
	(fhandler_termios::sigflush): Ditto.
 | 
						|
 | 
						|
2012-03-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (allow_others_to_sync): Reorder conditional expression to
 | 
						|
	check for DACL presence first, since otherwise dacl pointer value is
 | 
						|
	undefined.  Add comment.
 | 
						|
 | 
						|
2012-03-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (allow_others_to_sync): Use RtlGetDaclSecurityDescriptor
 | 
						|
	rather than accessing the SECURITY_DESCRIPTOR structure directly.
 | 
						|
	Take no DACL and NULL DACL into account.
 | 
						|
 | 
						|
2012-03-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::input_tcsetattr): Revert
 | 
						|
	previous patch.
 | 
						|
	(fhandler_console::open_setup): Install Ctrl-C handler here, if this
 | 
						|
	console is the controlling tty and the process hasn't been started by
 | 
						|
	a Cygwin process.
 | 
						|
 | 
						|
2012-03-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::input_tcsetattr): Set the
 | 
						|
	state of the Ctrl-C handler depending on the setting of
 | 
						|
	ENABLE_PROCESSED_INPUT.
 | 
						|
 | 
						|
2012-02-28  Eric Blake  <eblake@redhat.com>
 | 
						|
 | 
						|
	* include/sys/termios.h (tcgetsid): Fix return type.
 | 
						|
	* termios.cc (tcgetsid): Likewise.
 | 
						|
	* fhandler_termios.cc (fhandler_termios::tcgetsid): Likewise.
 | 
						|
	* fhandler.h (fhandler_base): Likewise.
 | 
						|
	* fhandler.cc (fhandler_base::tcgetsid): Likewise.
 | 
						|
 | 
						|
2012-02-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.cc (well_known_dlls): Add shlwapi.dll.
 | 
						|
 | 
						|
2012-02-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.cc (dll_cmp): New comparison function for bsearch.
 | 
						|
	(well_known_dlls): New array containing well-known DLLs.
 | 
						|
	(_cygtls::call2): Add code for BLODA detection.
 | 
						|
	* net.cc (fdsock): Ditto.
 | 
						|
 | 
						|
2012-02-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* environ.cc (enum settings): Add setbool.  Rename justset to setdword
 | 
						|
	to avoid future problems.
 | 
						|
	(struct parse_thing): Change all justset to setbool for bool variables.
 | 
						|
	(parse_options): Add a case for setbool setting for bool variables
 | 
						|
	since justset (now setdword) always writes a DWORD value, thus
 | 
						|
	overwriting adjacent memory locations.
 | 
						|
	* external.cc (cygwin_internal): Drop extern declaration.
 | 
						|
 | 
						|
2012-02-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* environ.cc (dos_file_warning): Drop declaration.
 | 
						|
	(ignore_case_with_glob): Ditto.
 | 
						|
	(allow_winsymlinks): Ditto.
 | 
						|
	(reset_com): Move definition to globals.cc.
 | 
						|
	(struct parse_thing): Add "detect_bloda" option.
 | 
						|
	* fhandler_serial.cc (fhandler_serial::open): Drop (incorrect)
 | 
						|
	declaration of reset_com.
 | 
						|
	* globals.cc (ignore_case_with_glob): Move definition into C++-only
 | 
						|
	block.
 | 
						|
	(dos_file_warning): Define.
 | 
						|
	(allow_winsymlinks): Define.
 | 
						|
	(reset_com): Define.
 | 
						|
	(detect_bloda): Define.
 | 
						|
	* path.cc (dos_file_warning): Drop definition here.
 | 
						|
	(allow_winsymlinks): Drop definition here.
 | 
						|
 | 
						|
2012-02-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (LOCK_DIR_NAME_FMT): Define.
 | 
						|
	(LOCK_DIR_NAME_LEN): Define.
 | 
						|
	(LOCK_DIR_NAME_DEV_OFF): Define.
 | 
						|
	(LOCK_DIR_NAME_INO_OFF): Define.
 | 
						|
	(LOCK_OBJ_NAME_FMT): Define.  Add comment.
 | 
						|
	(class lockf_t): Use bitsize-explicit types.  Declare from_obj_name,
 | 
						|
	(class inode_t): Make use, unuse and inuse methods public.  Add a
 | 
						|
	lock argument to get method declaration.
 | 
						|
	(inode_t::get): Add lock argument.  Only lock node if lock arg is true.
 | 
						|
	(inode_t::inode_t): Use LOCK_DIR_NAME_FMT as format string.
 | 
						|
	(lockf_t::from_obj_name): New method to generate lockf_t content from
 | 
						|
	lock event object basename.
 | 
						|
	(inode_t::get_all_locks_list): Just call from_obj_name here and copy
 | 
						|
	result into final lockf_t.
 | 
						|
	(create_lock_obj_attr): Use LOCK_OBJ_NAME_FMT as format string.
 | 
						|
	(create_lock_in_parent): New thread function to create lockf_t
 | 
						|
	structure in parent process.
 | 
						|
	(delete_lock_in_parent): New thread function to reap stale BSD locks in
 | 
						|
	parent process.
 | 
						|
	(lockf_t::create_lock_obj): Try to duplicate lock object handle into
 | 
						|
	parent process and call create_lock_in_parent as parent remote thread.
 | 
						|
	(lockf_t::del_lock_obj): Call delete_lock_in_parent as parent remote
 | 
						|
	thread.
 | 
						|
	(fhandler_disk_file::lock): Add lock arg to inode_t::get call.
 | 
						|
 | 
						|
2012-02-25  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 12.
 | 
						|
 | 
						|
2012-02-21  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* cygwin.din (scandirat): Export.
 | 
						|
	* posix.sgml (std-gnu): Add scandirat.
 | 
						|
	* syscalls.cc (scandirat): New function.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
	* include/sys/dirent.h (scandirat): Declare.
 | 
						|
 | 
						|
2012-02-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	Based on an idea from Nick Lowe <nick.lowe@gmail.com>:
 | 
						|
	* shared.cc (shared_info::init_obcaseinsensitive): Check actual state
 | 
						|
	of case sensitivity on post-Windows 2000 systems.
 | 
						|
	* wincap.h (wincaps::kernel_is_always_casesensitive): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
 | 
						|
2012-02-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (inode_t::del_my_locks): Drop useless counter lc.  Close
 | 
						|
	lock object handle explicitely in case of called during fork.  Add
 | 
						|
	comment to explain why.
 | 
						|
	* fork.cc (frok::child): Drop declaration of fixup_lockf_after_fork.
 | 
						|
 | 
						|
2012-02-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* timer.cc (getitimer): Don't create another local ret variable in
 | 
						|
	timer_gettime calling branch.  Simplify conditional since timer_gettime
 | 
						|
	always returns 0 or -1 anyway.
 | 
						|
 | 
						|
2012-02-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ntdll.h (struct _PEB): Add EnvironmentUpdateCount member.
 | 
						|
	* spawn.cc (child_info_spawn::worker): Speed up job recognition.  Expand
 | 
						|
	comment to explain every little detail and so we never forget.
 | 
						|
	* wincap.h (wincaps::has_program_compatibility_assitant): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
 | 
						|
2012-02-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mount.cc (get_disk_type): Drop unneeded toupper call.  Convert case
 | 
						|
	constants to wide chars.
 | 
						|
 | 
						|
2012-02-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (NetUseGetInfo): Define.
 | 
						|
	* fhandler_disk_file.cc (fhandler_cygdrive::opendir): Rename flptst
 | 
						|
	to drive.  Call new get_disk_type function rather than is_floppy and
 | 
						|
	check SMB drives with the NetUseGetInfo function.  Explain why.
 | 
						|
	* mount.cc (get_disk_type): New function to evaluate disk type from
 | 
						|
	native NT device name.
 | 
						|
	(is_floppy): Remove.
 | 
						|
	* mount.h (enum disk_type): Define.
 | 
						|
	(get_disk_type): Declare.
 | 
						|
	* path.h (is_floppy): Drop declaration.
 | 
						|
 | 
						|
2012-02-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc: Revert change from 2012-02-13 which used the
 | 
						|
	Windows-provided stack rather than an own stack created in
 | 
						|
	CygwinCreateThread.
 | 
						|
	(struct thread_wrapper_arg): Rename commitsize to stacklimit.
 | 
						|
	(CygwinCreateThread): Rename commitsize to real_stacklimit.
 | 
						|
 | 
						|
2012-02-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dtable.cc (dtable::init_std_file_from_handle): Use tmp_pathbuf for
 | 
						|
	name.
 | 
						|
	(handle_to_fn): Ditto for device.  Fix size in QueryDosDeviceW call.
 | 
						|
 | 
						|
2012-02-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* smallprint.cc (tmpbuf): Declare new class holding a static buffer,
 | 
						|
	protected by a lock.
 | 
						|
	(__small_vsprintf): Use tmpbuf to hold large buffer.
 | 
						|
	(__small_vswprintf): Ditto.
 | 
						|
 | 
						|
2012-02-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (lf_setlock): Add timeout variable and set before calling
 | 
						|
	WFMO.  Drop debug output if process is not available.  Set timeout to
 | 
						|
	0 instead.  Document timeout 0 in WFMO comment.
 | 
						|
	(lf_getblock): Drop invalid F_POSIX lock type shortcut.  Only return
 | 
						|
	overlap if event is not signalled.  Fix comment.
 | 
						|
 | 
						|
2012-02-14  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (_pinfo::set_ctty): Revert 2012-02-07 change to skip
 | 
						|
	function if tty in question == our ctty.
 | 
						|
 | 
						|
	* syscalls.cc (setsid): Avoid two function calls.
 | 
						|
 | 
						|
	* dtable.cc (dtable::dup_worker): Remove debugging.
 | 
						|
 | 
						|
	* init.cc (search_for): Calculate for every new process rather than
 | 
						|
	using shared value.
 | 
						|
	(threadfunc_ix): Fill in for every new process rather than sing shared
 | 
						|
	value.
 | 
						|
 | 
						|
2012-02-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_cygdrive::fstat): Don't bother to
 | 
						|
	set st_nlink correctly, just set it to 1 to avoid potential network
 | 
						|
	timeouts.
 | 
						|
 | 
						|
2012-02-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (lf_setlock): Don't close waited lock object handle before
 | 
						|
	we own the node lock.  Fix comment.
 | 
						|
 | 
						|
2012-02-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::init_installation_root): Convert function
 | 
						|
	init_installation_root into a cygheap method.
 | 
						|
	* cygheap.h (struct init_cygheap): Move installation_root,
 | 
						|
	installation_key, and installation_key_buf from shared
 | 
						|
	.cygwin_dll_common DLL section to cygheap.  Declare new method
 | 
						|
	init_installation_root.
 | 
						|
	* dtable.cc (handle_to_fn): Accommodate the move of installation strings
 | 
						|
	to the cygheap.
 | 
						|
	* external.cc (cygwin_internal): Ditto.
 | 
						|
	* fhandler_console.cc (fhandler_console::open_shared_console): Ditto.
 | 
						|
	* fhandler_mailslot.cc (fhandler_mailslot::get_object_attr): Ditto.
 | 
						|
	* fhandler_tty.cc: Ditto, throughout.
 | 
						|
	* mount.cc (mount_info::init): Ditto.
 | 
						|
	* pipe.cc (fhandler_pipe::create): Ditto.
 | 
						|
	* shared.cc: Ditto, throughout.
 | 
						|
	(installation_root): Remove.
 | 
						|
	(installation_key): Move to cygheap.
 | 
						|
	(installation_key_buf): Ditto.
 | 
						|
	(installation_root_inited): Remove.
 | 
						|
	(SPIN_WAIT): Remove.
 | 
						|
	(init_installation_root): Move to cygheap.
 | 
						|
	(memory_init): Call cygheap->init_installation_root right after
 | 
						|
	cygheap->user.init.  Drop call of init_installation_root function.
 | 
						|
	* shared_info.h (init_installation_root): Drop declaration.
 | 
						|
	(installation_root): Ditto.
 | 
						|
	(installation_key): Ditto.
 | 
						|
	* uinfo.cc (pwdgrp::load): Accommodate the move of installation strings
 | 
						|
	to the cygheap.
 | 
						|
 | 
						|
2012-02-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc: Drop including unused headers.
 | 
						|
 | 
						|
2012-02-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (struct thread_wrapper_arg): Convert char * to PBYTE.
 | 
						|
	Change related casts throughout.
 | 
						|
	(thread_wrapper): Only do the thread change if the application provided
 | 
						|
	the stack.  Otherwise, just use the Windows-provided stack.  Set up
 | 
						|
	POSIX guardpage here, if necessary.  Move related comment from
 | 
						|
	CygwinCreateThread here.
 | 
						|
	(CygwinCreateThread): Never allocate and set up own stack here.  Just
 | 
						|
	compute stack size to reserve and use value in CreateThread call if
 | 
						|
	stack hasn't been provided by the application.
 | 
						|
 | 
						|
2012-02-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (clean): Remove non-existent regexp dir.
 | 
						|
 | 
						|
	* collate.h: New header.
 | 
						|
	(__collate_range_cmp): Declare.
 | 
						|
	(__collate_load_error): Define.
 | 
						|
	* glob.cc: Pull in latest version from FreeBSD.  Simplify and reduce
 | 
						|
	Cygwin-specific changes.
 | 
						|
	* regex/regcomp.c: Include collate.h on Cygwin as well.
 | 
						|
	(__collate_range_cmp): Move from here...
 | 
						|
	* nlsfuncs.cc (__collate_range_cmp): ...to here.
 | 
						|
 | 
						|
	* miscfuncs.cc (thread_wrapper): Fix typo in comment.
 | 
						|
	(CygwinCreateThread): Take dead zone of Windows stack into account.
 | 
						|
	Change the way how the stack is commited and how to handle guardpages.
 | 
						|
	Explain how and why.
 | 
						|
	* thread.h (PTHREAD_DEFAULT_STACKSIZE): Change definition.  Explain why.
 | 
						|
 | 
						|
2012-02-12  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* include/pthread.h: Include time.h as required by POSIX.
 | 
						|
 | 
						|
2012-02-12  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exception.h (stackdump): Declare.
 | 
						|
	* exceptions.cc (stackdump): Rework to perform all operations needed
 | 
						|
	for a stackdump and to avoid recursion.
 | 
						|
	(exception::handle): Use simplified stackdump interface.
 | 
						|
	* sigproc.cc (signal::exit): Ditto.  Delete now, uneeded declaration.
 | 
						|
 | 
						|
2012-02-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (DEFAULT_STACKSIZE): Remove.
 | 
						|
	(CygwinCreateThread): Simplify code by assuming that now stack-related
 | 
						|
	input values are undefined.  Set stack protection to PAGE_READWRITE,
 | 
						|
	as is default on Windows.  Add lengthy comment to explain POSIX
 | 
						|
	guardpage.
 | 
						|
	* thread.cc (pthread_attr::pthread_attr): Initialize stacksize as
 | 
						|
	PTHREAD_DEFAULT_STACKSIZE.  Initialize guardsize as
 | 
						|
	PTHREAD_DEFAULT_GUARDSIZE.
 | 
						|
	* thread.h (PTHREAD_DEFAULT_STACKSIZE): Define.  Add comment to explain.
 | 
						|
	(PTHREAD_DEFAULT_GUARDSIZE): Define.
 | 
						|
 | 
						|
2012-02-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (DEFAULT_STACKSIZE): Set to 1 Megs.  Drop comment about
 | 
						|
	RLIMIT_STACK.
 | 
						|
 | 
						|
	* registry.cc (get_registry_hive_path): Expect the user hive path to
 | 
						|
	be never longer than MAX_PATH.  Don't prepend native NT path prefix
 | 
						|
	here.  Add comment.
 | 
						|
	(load_registry_hive): Prepend native NT path prefix here.  Additionally
 | 
						|
	try to load user's classes hive.
 | 
						|
	* uinfo.cc (cygheap_user::env_userprofile): Reduce size of
 | 
						|
	userprofile_env_buf to MAX_PATH.  Add comment.
 | 
						|
 | 
						|
2012-02-10  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* syscalls.cc (setsid): On second thought, in the spirit of keeping
 | 
						|
	things kludgy, set ctty to -2 here as a special flag, and...
 | 
						|
	(open): ...only eschew setting O_NOCTTY when that case is detected.
 | 
						|
 | 
						|
2012-02-10  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* syscalls.cc (open): Semi-revert (?) to allowing open of a tty to
 | 
						|
	become controlling tty if there is no controlling tty.
 | 
						|
 | 
						|
2012-02-09  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (setup_handler): Reduce system_printf to sigproc_printf
 | 
						|
	since it is for a transient situation which will undoubtedly be
 | 
						|
	handled.
 | 
						|
 | 
						|
2012-02-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::write): Set
 | 
						|
	bytes_to_write to 0 in case it fits into the buffer, otherwise suffer
 | 
						|
	early EOF in caller.
 | 
						|
 | 
						|
2012-02-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.h (struct dll): Re-add modname.
 | 
						|
	* dll_init.cc: Throughout, use modname where it was used before.
 | 
						|
	(dll_list::operator[]): Use modname.  Move comment from dll_list::alloc
 | 
						|
	here and remove hint about GetModuleBaseNameW.
 | 
						|
	(dll_list::alloc): Store full path in name, pointer to basename in
 | 
						|
	modname.  Search dll using modname.
 | 
						|
 | 
						|
2012-02-08  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (dtable::init_std_file_from_handle): Reinstate opening tty
 | 
						|
	handles with O_RDWR permissions.
 | 
						|
 | 
						|
2012-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (__pthread_cond_wait_init): New static function replacing
 | 
						|
	__pthread_cond_dowait.  Only check and potentially initialize cond and
 | 
						|
	mutex, drop call to (*cond)->wait.
 | 
						|
	(pthread_cond_timedwait): Replace call to __pthread_cond_dowait with
 | 
						|
	separate calls to __pthread_cond_wait_init and (*cond)->wait to be
 | 
						|
	able to initialize cond before accessing its clock_id member.
 | 
						|
	(pthread_cond_wait): Ditto (more or less).
 | 
						|
 | 
						|
2012-02-08  Christian Franke  <franke@computer.org>
 | 
						|
 | 
						|
	* include/sys/wait.h: Remove C++ inline functions for `union wait'.
 | 
						|
	For C++ use `void *' as __wait_status_ptr_t instead.  This is less type
 | 
						|
	safe but fixes compile error on `wait(NULL)'.  Remove extra `;'.
 | 
						|
 | 
						|
2012-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sigproc.cc (child_info_fork::abort): Call TerminateProcess rather
 | 
						|
	than ExitProcess.
 | 
						|
 | 
						|
2012-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_user::env_userprofile): Simplify since network
 | 
						|
	drives are not supported here.
 | 
						|
 | 
						|
2012-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_user::env_userprofile): Convert native
 | 
						|
	userprofile path returned from get_registry_hive_path to Win32 path.
 | 
						|
 | 
						|
2012-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.cc: Throughout, drop usage of modname in favor of name.
 | 
						|
	(dll_list::find_by_modname): Remove.
 | 
						|
	(dll_list::alloc): Only store module basename in name.  Add comment to
 | 
						|
	explain why.  Simplify address check.  Fix formatting in comment.
 | 
						|
	* dll_init.h (struct dll): Drop modname and find_by_modname.
 | 
						|
 | 
						|
2012-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.cc (dll_list::alloc): Add DLL name to fabort output.  Fix
 | 
						|
	fabort string in case of bss start.
 | 
						|
 | 
						|
2012-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/sys/sysmacros.h: Include sys/types.h.
 | 
						|
 | 
						|
2012-02-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mount.cc (mount_info::create_root_entry): Fix format specifier in
 | 
						|
	api_fatal message.
 | 
						|
 | 
						|
2012-02-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/process.h: Move here from include/cygwin subdir.
 | 
						|
	* exec.cc: Change include of process.h to reflect the fact that it's
 | 
						|
	now back in include.
 | 
						|
	* spawn.cc: Ditto.
 | 
						|
	* syscalls.cc: Ditto.
 | 
						|
 | 
						|
2012-02-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::manage_console_count): Delete.
 | 
						|
	* cygheap.h (init_cygheap::manage_console_count): Ditto.
 | 
						|
	(init_cygheap::console_count): Ditto.
 | 
						|
	* fhandler.h (fhandler_console::has_a): Ditto.
 | 
						|
	(fhandler_console::free_console): Declare new function.
 | 
						|
	* fhandler_console.cc (fhandler_console::free_console): Define new
 | 
						|
	function.
 | 
						|
	(fhandler_console::open_setup): Delete call to manage_console_count.
 | 
						|
	(fhandler_console::close): Ditto.  Replace with call to free_console().
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::open): Delete call to
 | 
						|
	manage_console_count.
 | 
						|
	(fhandler_pty_slave::cleanup): Ditto.
 | 
						|
	(fhandler_pty_slave::close): Call fhandler_console::free_console() if
 | 
						|
	this is our controlling tty.
 | 
						|
	* pinfo.cc (_pinfo::set_ctty): Skip function if tty in question == our
 | 
						|
	ctty.  Delete call to manage_console_count.
 | 
						|
 | 
						|
	* syscalls.cc (close_all_files): Avoid locking and avoid setting errno
 | 
						|
	when iterating over fds.
 | 
						|
 | 
						|
2012-02-07  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* include/cygwin/version.h: Bump CYGWIN_VERSION_DLL_MINOR to 11.
 | 
						|
 | 
						|
2012-02-03  Václav Zeman  <vhaisman@gmail.com>
 | 
						|
 | 
						|
	* grp.cc (pwdgrp::parse_group): Convert grp from macro to reference.
 | 
						|
	* passwd.cc (pwdgrp::parse_passwd): Ditto for res.
 | 
						|
 | 
						|
2012-02-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* syscalls.cc (close_all_files): Use cygheap_fdget to manipulate
 | 
						|
	fhandler.  Use debug_only_printf.
 | 
						|
 | 
						|
2012-02-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	Fix memory and handle leaks due to fdopendir:
 | 
						|
	* dir.cc (closedir): Call global close instead of just releasing the
 | 
						|
	fhandler.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::closedir): Don't close
 | 
						|
	fhandler handle here, rely on global closedir doing the right thing.
 | 
						|
	* fhandler_registry.cc (fhandler_registry::readdir): Also delete
 | 
						|
	d_hash when closing registry key.
 | 
						|
	(fhandler_registry::rewinddir): Ditto.
 | 
						|
 | 
						|
	Avoid infinite recursion in VirtualStore under UAC:
 | 
						|
	* fhandler_registry.cc (VIRT_CLASSES_KEY_PREFIX): Define.
 | 
						|
	(VIRT_CLASSES_KEY_SUFFIX): Ditto.
 | 
						|
	(VIRT_CLASSES_KEY): Ditto.
 | 
						|
	(VIRT_CLASSES_LINKTGT): Ditto.
 | 
						|
	(fhandler_registry::exists): Return virt_symlink as file type if
 | 
						|
	this is a Classes key under the VirtualStore.
 | 
						|
	(fhandler_registry::fstat): Handle virt_symlink.
 | 
						|
	(fhandler_registry::readdir): Return DT_LNK as d_type if this is a
 | 
						|
	Classes key under the VirtualStore.
 | 
						|
	(fhandler_registry::fill_filebuf): Handle Classes symlink.
 | 
						|
 | 
						|
	Handle user impersonation in /proc/registry access:
 | 
						|
	* autoload.cc (RegOpenUserClassesRoot): Define.
 | 
						|
	(RegOpenCurrentUser): Define.
 | 
						|
	* fhandler_registry.cc (RegOpenUserClassesRoot): Declare function
 | 
						|
	missing in w32api.
 | 
						|
	(RegOpenCurrentUser): Ditto.
 | 
						|
	(fetch_hkey): New function.
 | 
						|
	(fhandler_registry::open): Call fetch_hkey to get root registry key.
 | 
						|
	(open_key): Ditto.
 | 
						|
 | 
						|
2012-02-01  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fcntl.cc (fcntl64): Add introductory debug statement.  Call dup3
 | 
						|
	directly via dtable method to avoid over-incrementing refcnt.
 | 
						|
 | 
						|
2012-02-01  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (dtable::dup_worker): Add comment explaining why refcnt
 | 
						|
	isn't incremented here.
 | 
						|
	(dtable::dup3): Simplify slightly.  Add comment.
 | 
						|
	* syscalls.cc (dup3): Increment refcnt here, similarly to dup2.
 | 
						|
 | 
						|
2012-02-01  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base_overlapped::has_ongoing_io): Don't block
 | 
						|
	GetOverlappedResult since previous IsEventSignalled will have reset the
 | 
						|
	handle.
 | 
						|
	* select.cc (cygwin_select): Remove space before parentheses in syscall
 | 
						|
	debugging output.
 | 
						|
	(pipe_data_available): Streamline if block.
 | 
						|
 | 
						|
2012-01-31  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* syscalls.cc (dup3): Fix debug typo.
 | 
						|
 | 
						|
	* fhandler.cc (flush_async_io): Assume only called for writer.  Call
 | 
						|
	GetOverlappedResult directly rather than kludging call to
 | 
						|
	has_ongoing_io.
 | 
						|
	(fhandler_base_overlapped::close): Only start flush thread when closing
 | 
						|
	write handle.  Only cancel I/O when reading.
 | 
						|
 | 
						|
2012-01-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.din: Fix order (DATA first).
 | 
						|
 | 
						|
2012-01-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (is_dos_path): New macro to recognize drive letter and UNC
 | 
						|
	DOS paths.
 | 
						|
	(globify): Call is_dos_path instead of isdrive.
 | 
						|
 | 
						|
2012-01-26  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (child_info::retry_count): Default to 1.
 | 
						|
 | 
						|
2012-01-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (gethostid): Simplify.  Just fetch MachineGuid and
 | 
						|
	create hash from there.
 | 
						|
 | 
						|
2012-01-22  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_fifo::arm): Declare new function.
 | 
						|
	* fhandler_fifo.cc (fhandler_fifo::arm): Define new function.
 | 
						|
	(fhandler_fifo::open): Fix handling of RDWR pipes to avoid opening a
 | 
						|
	second handle.  Use arm() function to set events.
 | 
						|
	(fhandler_fifo::raw_read): Correctly go into "connect again logic" when
 | 
						|
	we detect another writer is available.  Use arm() function to set event.
 | 
						|
	* pipe.cc (fhandler_pipe::create): Add more detail to debugging output.
 | 
						|
 | 
						|
2012-01-22  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygheap.h (cygheap_fdmanip::release): Simplify.
 | 
						|
	* dtable.cc (dtable::release): Make void again.  Skip not_open check
 | 
						|
	since it is guaranteed to be open.  Don't bother deleting here since
 | 
						|
	actual deletion will be handled in cygheap_fdget::~cygheap_fdget.
 | 
						|
	* dtable.h (dtable::release): Make void again.
 | 
						|
	* syscalls.cc (dup2): Bump fhandler use count on successful dup.
 | 
						|
 | 
						|
2012-01-22  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* cygheap.h (cygheap_fdget::~cygheap_fdget): Simplify now that refcnt
 | 
						|
	reports reference count changes itself.
 | 
						|
	* fhandler.cc (fhandler_base::reset): Set _refcnt to 0.
 | 
						|
	* fhandler.h (fhandler_base::refcnt): Report refcnt when debugging.
 | 
						|
 | 
						|
	* select.cc (cygwin_select): Set return_on_signal to indicate when
 | 
						|
	select should be interrupted.
 | 
						|
	(select_stuff::wait): Keep looping unless return_on_signal is set.
 | 
						|
	* select.h (select_stuff::return_on_signal): New variable.
 | 
						|
	(select_stuff::select_stuff): Zero return_on_signal.
 | 
						|
 | 
						|
2012-01-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_registry::opendir): Declare.
 | 
						|
	* fhandler_registry.cc (fhandler_registry::opendir): New function.
 | 
						|
 | 
						|
2012-01-13  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* include/cygwin/config.h (_GLIBC_EXTENSION): Define.
 | 
						|
 | 
						|
2012-01-11  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* spawn.cc (child_info_spawn::worker): Delete debugging.
 | 
						|
 | 
						|
2012-01-11  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	Update copyright on all files checked in so far this year.
 | 
						|
	* fhandler.h: Use #pragma once rather than ifdef guards.
 | 
						|
	(fhandler_console::tc_getpgid): Return our pgid if we have never opened
 | 
						|
	a console.
 | 
						|
	* fork.cc: Rearrange includes to accommodate fhandler.h use of pinfo.h.
 | 
						|
	* sigproc.cc: Ditto.
 | 
						|
	* spawn.cc: Ditto.
 | 
						|
	(child_info_spawn::worker): Query myself->pgid rather than calling
 | 
						|
	expensive function.
 | 
						|
	* thread.h: Use #pragma once rather than ifdef guards.
 | 
						|
	* pinfo.h: Use #pragma once rather than ifdef guards.
 | 
						|
	(pinfo::remember): Don't define if sigproc.h has not been included.
 | 
						|
	(pinfo::reattach): Ditto.
 | 
						|
	* sigproc.h: Use #pragma once rather than ifdef guards.  Use different
 | 
						|
	test to see if pinfo.h has been included.
 | 
						|
 | 
						|
2012-01-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/process.h: Move here from newlib.
 | 
						|
	* exec.cc: Change include of process.h to reflect the fact that it's
 | 
						|
	now in the include/cygwin subfolder.
 | 
						|
	* spawn.cc: Ditto.
 | 
						|
	* syscalls.cc: Ditto.
 | 
						|
 | 
						|
2012-01-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (thread_wrapper): Make sure stack is 16 byte aligned
 | 
						|
	to make gcc-3 compiled pthread applications happy.
 | 
						|
 | 
						|
2012-01-08  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* dtable.cc (dtable::stdio_init): Always initialize console when we
 | 
						|
	have one.
 | 
						|
	* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Use a better
 | 
						|
	method to print tty name for debugging.
 | 
						|
	(fhandler_termios::bg_check): Ditto.
 | 
						|
	* pinfo.cc (_pinfo::set_ctty): Remove leftover debugging stuff.
 | 
						|
	Simplify behavior when setting tty's sid and pgid to avoid overwriting
 | 
						|
	previously set values.
 | 
						|
 | 
						|
	* spawn.cc (ch_spawn): Cosmetic change.
 | 
						|
 | 
						|
2012-01-06  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* cygwin.din (pthread_sigqueue): Export.
 | 
						|
	* posix.sgml (std-gnu): Add pthread_sigqueue.
 | 
						|
	* thread.cc (pthread_sigqueue): New function.
 | 
						|
	* thread.h (pthread_sigqueue): New function.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2012-01-02  Christopher Faylor  <me.cygwin2012@cgf.cx>
 | 
						|
 | 
						|
	* path.cc (get_current_dir_name): Avoid memory leak.  Don't return PWD
 | 
						|
	contents if directory doesn't actually exist.
 | 
						|
 | 
						|
2012-01-01  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
 | 
						|
 | 
						|
	* cygwin.din (get_current_dir_name): Export.
 | 
						|
	* path.cc (get_current_dir_name): New function.
 | 
						|
	* posix.sgml (std-gnu): Add get_current_dir_name.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 |