323 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			323 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
2013-01-31  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000022.
 | 
						|
	* cygtls.h (_cygtls::func): Define as a sa_sigaction style function.
 | 
						|
	* exceptions.cc (sig_handle_tty_stop): Ditto.
 | 
						|
	(_cygtls::interrupt_setup): Fix coercion to accommodate 'func' change.
 | 
						|
	(ctrl_c_handler): Use tty kill_pgrp to send a signal.
 | 
						|
	(sigpacket::process): Don't process sigflush here.
 | 
						|
	(_cygtls::call_signal_handler): Reorganize to avoid a race.  Always
 | 
						|
	call sa_sigaction style function.
 | 
						|
	* fhandler_termios.cc (is_flush_sig): Define new function.
 | 
						|
	(tty_min::kill_pgrp): Handle tty flush when signal detected.
 | 
						|
	(fhandler_termios::bg_check): Be slightly more paranoid about checking
 | 
						|
	for valid tty.
 | 
						|
	(fhandler_termios::sigflush): Don't flush unless tty owner.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::ioctl): Use tty kill_pgrp to
 | 
						|
	send signal.
 | 
						|
	(fhandler_pty_master::ioctl): Ditto.
 | 
						|
	* signal.cc (killsys): Delete definition.
 | 
						|
	* sigproc.h (killsys): Delete declaration.
 | 
						|
	* include/cygwin/signal.h (siginfo_t): Simplify union/struct nesting
 | 
						|
	slightly.  Implement mechanism to allow cygwin data passing.
 | 
						|
 | 
						|
2013-01-23  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* miscfuncs.cc (__import_address): Check if malloc field points
 | 
						|
	directly at 'malloc'.
 | 
						|
 | 
						|
2013-01-23  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* miscfuncs.cc (__import_address): On second thought, the chance that
 | 
						|
	this pointer could be NULL is very low so don't bother checking for it.
 | 
						|
 | 
						|
2013-01-23  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (exception::handle): Make attempt to recursively dump
 | 
						|
	stack fatal.
 | 
						|
 | 
						|
2013-01-22  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* miscfuncs.cc (__import_address): Avoid NULL explicitly.
 | 
						|
 | 
						|
2013-01-22  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* miscfuncs.cc (__import_address): Avoid treating random instructions
 | 
						|
	as import jump.
 | 
						|
	* malloc_wrapper.cc (malloc_init): Remove comment about 64-bit.
 | 
						|
 | 
						|
2013-01-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* dcrt0.cc (dll_crt0_1): Comment assumption.
 | 
						|
	* exceptions.cc (sigpacket::setup_handler): Avoid sending signals
 | 
						|
	during fork processing.
 | 
						|
 | 
						|
2013-01-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* dcrt0.cc (dll_crt0_1): Flag that we are working "incyg".  Handle any
 | 
						|
	signals (presumably exiting signals) which may have come in while we
 | 
						|
	are in the process of setting up.
 | 
						|
 | 
						|
2013-01-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* update-copyright: Recognize configure.ac scripts too.
 | 
						|
 | 
						|
2013-01-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* cygerrno.h (__reg3): Define.
 | 
						|
	* cygmalloc.h (__reg3): Ditto.
 | 
						|
 | 
						|
2013-01-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* cygerrno.h: Conditionally define __regN for cygserver.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* malloc_wrapper.cc (malloc_init): Re-add inadvertently dropped comment
 | 
						|
	which explains what's going on with the use_internal calculation.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	Throughout, update copyrights to reflect dates which correspond to
 | 
						|
	main-branch checkins.  Regularize copyright format.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	Throughout, change __attribute__ ((regparm (N))) to just __regN.
 | 
						|
	Throughout, (mainly in fhandler*) start fixing gcc 4.7.2 mismatch
 | 
						|
	between regparm definitions and declarations.
 | 
						|
	* gendef: Define some functions to take @ declaration to accommodate
 | 
						|
	_regN defines which use __stdcall.
 | 
						|
	* gentls_offsets: Define __regN macros as empty.
 | 
						|
	* autoload.cc (wsock_init): Remove unneeded regparm attribute.
 | 
						|
	* winsup.h (__reg1): Define.
 | 
						|
	(__reg2): Define.
 | 
						|
	(__reg3): Define.
 | 
						|
 | 
						|
	* advapi32.cc (DuplicateTokenEx): Coerce some initializers to avoid
 | 
						|
	warnings from gcc 4.7.2.
 | 
						|
	* exceptions.cc (status_info): Declare struct to use NTSTATUS.
 | 
						|
	(cygwin_exception::dump_exception): Coerce e->ExceptionCode to
 | 
						|
	NTSTATUS.
 | 
						|
	* fhandler_clipboard.cc (cygnativeformat): Redefine as UINT to avoid
 | 
						|
	gcc 4.7.2 warnings.
 | 
						|
	(fhandler_dev_clipboard::read): Ditto.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* update-copyright (update_maybe): Accommodate perl-style copyright
 | 
						|
	comments.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* update-copyright: Silently skip nonexistent files.  Display filename
 | 
						|
	on update.  Don't update non-Red Hat copyrights.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* update-copyright: Update standard copyright information based on cvs
 | 
						|
	log and current sandbox status.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* malloc_wrapper.cc: Change 'use_internal_malloc' to 'use_internal'
 | 
						|
	throughout.
 | 
						|
	(export_malloc_called): Delete.
 | 
						|
	(internal_malloc_determined): New variable.
 | 
						|
	(malloc_init): Control calculation of internal/external malloc based on
 | 
						|
	'internal_malloc_determined'.  Use import_address() to determine if
 | 
						|
	malloc in user_data is ours or not.
 | 
						|
	* miscfuncs.cc (thread_wrapper): Make static.
 | 
						|
	(__import_address): Define new function.
 | 
						|
	* miscfuncs.h (import_address): New define.
 | 
						|
	(__import_address): Declare new function.
 | 
						|
 | 
						|
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (sig_dispatch_pending): Add correct regparm attributes to
 | 
						|
	match declaration.
 | 
						|
	(pid_exists): Ditto.
 | 
						|
	(proc_subproc): Ditto.
 | 
						|
	(sig_clear): Ditto.
 | 
						|
	(sig_send): Ditto.
 | 
						|
	(checkstate): Ditto.
 | 
						|
 | 
						|
2013-01-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (rename): Remove ill-conceived NFS workaround from
 | 
						|
	2013-01-10 for self-inflicted NFS server problem.
 | 
						|
 | 
						|
2013-01-19  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (ctrl_c_handler): Remove special-case handler for
 | 
						|
	"cygwin_finished_initializing".
 | 
						|
	* sigproc.cc (exit_thread): Undefine ExitThread earlier to avoid
 | 
						|
	recursion on error return.
 | 
						|
 | 
						|
2013-01-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* errno.cc (errmap): Map ERROR_LOCK_VIOLATION to EBUSY.
 | 
						|
 | 
						|
2013-01-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mmap.cc (handler_disk_file::msync): Add call to FlushFileBuffers
 | 
						|
	to implement MS_SYNC.
 | 
						|
 | 
						|
2013-01-17  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* mmap.cc (handler_disk_file::msync): Retry up to 99 times if
 | 
						|
	FlushViewOFile fails with ERROR_LOCK_VIOLATION.
 | 
						|
 | 
						|
2013-01-16  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (no_signals_available): Finally remove this macro
 | 
						|
	entirely.
 | 
						|
	(exit_thread): Ensure process lock is released on error exit.
 | 
						|
	(sig_send): Simplify "its_me" test.  Remove no_signals_available tests.
 | 
						|
 | 
						|
2013-01-16  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* pthread.cc (pthread_exit): Add kludge to accommodate noreturn attribute.
 | 
						|
 | 
						|
2013-01-14  Antti Kantee  <pooka@iki.fi>
 | 
						|
 | 
						|
	* include/pthread.h (pthread_exit): Mark as "noreturn".
 | 
						|
 | 
						|
2013-01-14  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (signal_exit): Move captive process termination...
 | 
						|
	(_cygtls::interrupt_setup): ...into here.
 | 
						|
	(sigpacket::process): Simplify setting of handler when have_execed.
 | 
						|
	(_cygtls::interrupt_setup): Don't call proc_subproc when we've execed.
 | 
						|
	* globals.cc (exit_states): Delete unneeded ES_EXEC_EXIT.
 | 
						|
	* pinfo.cc (pinfo::exit): Change debugging output.  Call proc_terminate
 | 
						|
	rather than the now-obsolete sigproc_terminate.  Don't set exit_state
 | 
						|
	to ES_EXEC_EXIT.  Set exit_state to ES_FINAL later.
 | 
						|
	* sigproc.cc (sigproc_terminate): Delete function.
 | 
						|
	(wait_sig): Don't call proc_subproc if have_execed.
 | 
						|
	* sigproc.h (sigproc_terminate): Delete declaration.
 | 
						|
	* sync.h (lock_process::lock_process): Don't set exit_state to
 | 
						|
	ES_PROCESS_LOCKED.
 | 
						|
	(lock_process::operator LONG): Define.
 | 
						|
 | 
						|
2013-01-11  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000021.
 | 
						|
	* select.cc (select): Unconditionally return when a signal is detected.
 | 
						|
	(select_stuff::wait): Ditto.
 | 
						|
 | 
						|
2013-01-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (rename): Drop handling paths > 32757 chars, emit EINVAL
 | 
						|
	instead, thus simplifying code allocating and filling pfri.  Drop size
 | 
						|
	and use constant expression in NtSetInformationFile call.  Add comments.
 | 
						|
	Drop redundant test for fs_serial_number and change comment accordingly.
 | 
						|
 | 
						|
2013-01-11  Thomas Wolff  <towo@towo.net>
 | 
						|
 | 
						|
	* fhandler.h (class dev_console): Flag for expanded control sequence.
 | 
						|
	* fhandler_console.cc (char_command): Supporting cursor style modes.
 | 
						|
 | 
						|
2013-01-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.h (path_conv::fs_type): New method.
 | 
						|
	* syscalls.cc (rename): Check for cross-device situation before
 | 
						|
	touching anything.  Explain why.  Workaround NFS bug in call to
 | 
						|
	NtSetInformationFile(FileRenameInformation).
 | 
						|
 | 
						|
2013-01-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygerrno.h: Fix copyright.
 | 
						|
	* exceptions.cc: Drop comment explaining removed variable.
 | 
						|
 | 
						|
2013-01-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (main_thread_sinit): New inline function.  Fix and explain
 | 
						|
	a stdio initialization issue.
 | 
						|
	(dll_crt0_1): Call main_thread_sinit rather than __sinit.
 | 
						|
 | 
						|
2013-01-07  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* thread.cc (pthread_rwlock::lookup_reader): Remove parameter: always
 | 
						|
	assume that we're looking for the current thread.
 | 
						|
	(pthread_rwlock::tryrdlock): Eliminate self variable.  Accommodate
 | 
						|
	change in lookup_reader().
 | 
						|
	(pthread_rwlock::unlock): Ditto.
 | 
						|
	(pthread_rwlock::rdlock): Ditto.  Move add_reader call after writer
 | 
						|
	tests to more closely mimic old behavior.
 | 
						|
	(pthread_rwlock::wrlock): Accommodate change in lookup_reader().
 | 
						|
	* thread.h ((pthread_rwlock::lookup_reader): Eliminate argument.
 | 
						|
 | 
						|
2013-01-07  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* thread.cc (pthread_rwlock::add_reader): Perform new operation here
 | 
						|
	and return pointer to allocated RWLOCK_READER structure.
 | 
						|
	(pthread_rwlock::rdlock): Reorganize to reflect new add_reader
 | 
						|
	functionality.
 | 
						|
	(pthread_rwlock::tryrdlock): Ditto.  Remove unneeded call to
 | 
						|
	lookup_reader().
 | 
						|
	* thread.h (pthread_rwlock::RWLOCK_READER::RWLOCK_READER): New
 | 
						|
	constructor.
 | 
						|
	(pthread_rwlock::add_reader): Reflect new functionality.
 | 
						|
 | 
						|
2013-01-03  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* globals.cc (exit_states): Renumber so that ES_EXIT_STARTING is first,
 | 
						|
	as intended.
 | 
						|
	* sigproc.cc (wait_sig): Only stop accepting signals after
 | 
						|
	exit_state > ES_EXIT_STARTING.
 | 
						|
 | 
						|
2013-01-03  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (exit_thread): Set thread signal mask so that no signals
 | 
						|
	are sent to an exiting thread.
 | 
						|
 | 
						|
2013-01-02  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (no_signals_available): Remove exit_state test since
 | 
						|
	signals are available in a limited fashion when exiting.
 | 
						|
	(sig_dispatch_pending): Ditto.
 | 
						|
	(sig_send): Ditto.
 | 
						|
	(exit_thread): Rearrange to avoid an unnecessary DuplicateProcess when
 | 
						|
	exiting.
 | 
						|
	(wait_sig): Allow special signals when exiting.
 | 
						|
 | 
						|
2013-01-02  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000020, relating to previous checkin.
 | 
						|
 | 
						|
2013-01-02  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
						|
 | 
						|
	* cygtls.h (_cygtls::signal_exit): Delete from class.
 | 
						|
	* exception.h (cygwin_exception): New class.
 | 
						|
	(cygwin_exception::dumpstack): Declare new function.
 | 
						|
	(cygwin_exception::context): Ditto.
 | 
						|
	(cygwin_exception::dump_exception): Ditto.
 | 
						|
	* exceptions.cc (cygwin_exception::dump_exception): Move into
 | 
						|
	cygwin_exception class.  Accommodate new variable names.
 | 
						|
	(cygwin_exception::dumpstack): Ditto stackdump -> dumpstack.
 | 
						|
	(exception::handle): Move andreas processing earlier.  Defer signal
 | 
						|
	processing decisions to the signal thread where they belong.  Pass
 | 
						|
	exception information to sig_send via new siginfo_t si_cyg field.
 | 
						|
	(ctrl_c_handler): Wait for SIGHUP signal to be processed since it could
 | 
						|
	cause a process exit and we don't want races with thread exit lock.
 | 
						|
	(signal_exit): Move back here from sigproc.cc.  Modify arguments and
 | 
						|
	remove from sigpacket class.  Decide when to dump core based on signal
 | 
						|
	type.
 | 
						|
	(sigpacket::process): Handle exiting signals in context of threads
 | 
						|
	rather than in the signal thread.  Signal debugger on non-Windows
 | 
						|
	signals.  Remove setup_signal_exit call.
 | 
						|
	* sigproc.cc (no_signals_available): Remove argument.
 | 
						|
	(signal_exit_code): Delete.
 | 
						|
	(close_my_readsig): Ditto.
 | 
						|
	(_cygtls::signal_exit): Move to exceptions.cc.
 | 
						|
	(sigproc_terminate): Don't attempt to terminate signal thread.
 | 
						|
	(setup_signal_exit): Delete.
 | 
						|
	(exit_thread): Use new si_cyg entry in siginfo_t.
 | 
						|
	(sig_send): Just use empty initializer for si.  Accommodate change in
 | 
						|
	no_signals_available argument.
 | 
						|
	(wait_sig): Remove attempt to "go asynchronous" on process exit.
 | 
						|
	Delete __SIGEXIT handling.  Don't ever exit.
 | 
						|
	* sigproc.h: Remove __SIGEXIT from signal enum.  Renumber.
 | 
						|
	* include/cygwin/signal.h (siginfo_t): Add si_cyg entry.
 |