src/winsup/cygwin ChangeLog cygheap.h cygtls.c ...

cgf@cygwin.com cgf@cygwin.com
Thu Feb 12 03:02:00 GMT 2004


CVSROOT:	/cvs/src
Module name:	src
Changes by:	cgf@sourceware.org	2004-02-12 03:01:59

Modified files:
	winsup/cygwin  : ChangeLog cygheap.h cygtls.cc cygtls.h dcrt0.cc 
	                 dll_init.cc exceptions.cc fork.cc gendef 
	                 init.cc miscfuncs.cc perthread.h pinfo.cc 
	                 pinfo.h signal.cc sigproc.cc sigproc.h sync.cc 
	                 syscalls.cc termios.cc thread.h wait.cc 
	                 winsup.h 

Log message:
	Rename _threadinfo to _cygtls, throughout.
	* cygtls.h (_cygtls::call_signal_handler): Rename from call_signal_handler_now.
	(_cygtls::push): Make second argument mandatory.
	(_cygtls::fixup_after_fork): Declare new function.
	(_cygtls::lock): Ditto.
	* cygtls.cc (_cygtls::fixup_after_fork): Define new function.
	* dcrt0.cc (cygwin_finished_initializing): Define as bool.
	(alloc_stack): Use _tlstop rather than arbitrary variable in probably vain
	attempt to avoid strange fork problem on CTRL-C.
	(dll_crt0_0): Remove obsolete winpids::init call.
	* dll_init.cc (dll_dllcrt0): Detect forkee condition as equivalent to
	initializing.
	* winsup.h (cygwin_finished_initializing): Declare as bool.
	* exceptions.cc (handle_exceptions): Rely on cygwin_finished_initializing to
	determine how to handle exception during process startup.
	(_cygtls::call_signal_handler): Rename from call_signal_handler_now.
	(_cygtls::interrupt_now): Fill in second argument to push.
	(signal_fixup_after_fork): Eliminate.
	(setup_handler): Initialize locked to avoid potential inappropriate unlock.
	Resume thread if it has acquired the stack lock.
	(ctrl_c_handler): Just exit if ctrl-c is hit before cygiwn has finished
	initializing.
	* fork.cc (sync_with_child): Don't call abort since it can cause exit
	deadlocks.
	(sync_with_child): Change debugging output slightly.
	(fork_child): Set cygwin_finished_initializing here.  Call _cygtls fork fixup
	and explicitly call sigproc_init.
	(fork_parent): Release malloc lock on fork failure.
	(vfork): Call signal handler via _my_tls.
	* sigproc.cc (sig_send): Ditto.
	* syscalls.cc (readv): Ditto.
	* termios.cc (tcsetattr): Ditto.
	* wait.cc (wait4): Ditto.
	* signal.cc (nanosleep): Ditto.
	(abort): Ditto.
	(kill_pgrp): Avoid killing self if exiting.
	* sync.cc (muto::acquire): Remove (temporarily?) ill-advised exiting_thread
	check.
	* gendef (_sigfe): Be more agressive in protecting stack pointer from other
	access by signal thread.
	(_cygtls::locked): Define new function.
	(_sigbe): Ditto.
	(_cygtls::pop): Protect edx.
	(_cygtls::lock): Use guaranteed method to set eax to 1.
	(longjmp): Aggressively protect signal stack.
	* miscfuncs.cc (low_priority_sleep): Reduce "sleep time" for secs == 0.
	* pinfo.cc (winpids::set): Counterintuitively use malloc's lock to protect
	simultaneous access to the pids list since there are pathological conditions
	which can cause malloc to call winpid.
	(winpids::init): Eliminate.
	* pinfo.h (winpids::cs): Eliminate declaration.
	* pinfo.h (winpids::init): Eliminate definition.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=src&r1=1.2306&r2=1.2307
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/cygheap.h.diff?cvsroot=src&r1=1.78&r2=1.79
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/cygtls.cc.diff?cvsroot=src&r1=1.8&r2=1.9
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/cygtls.h.diff?cvsroot=src&r1=1.15&r2=1.16
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/dcrt0.cc.diff?cvsroot=src&r1=1.210&r2=1.211
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/dll_init.cc.diff?cvsroot=src&r1=1.41&r2=1.42
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/exceptions.cc.diff?cvsroot=src&r1=1.202&r2=1.203
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fork.cc.diff?cvsroot=src&r1=1.126&r2=1.127
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/gendef.diff?cvsroot=src&r1=1.5&r2=1.6
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/init.cc.diff?cvsroot=src&r1=1.28&r2=1.29
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/miscfuncs.cc.diff?cvsroot=src&r1=1.27&r2=1.28
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/perthread.h.diff?cvsroot=src&r1=1.20&r2=1.21
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/pinfo.cc.diff?cvsroot=src&r1=1.110&r2=1.111
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/pinfo.h.diff?cvsroot=src&r1=1.61&r2=1.62
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/signal.cc.diff?cvsroot=src&r1=1.58&r2=1.59
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/sigproc.cc.diff?cvsroot=src&r1=1.184&r2=1.185
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/sigproc.h.diff?cvsroot=src&r1=1.66&r2=1.67
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/sync.cc.diff?cvsroot=src&r1=1.25&r2=1.26
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/syscalls.cc.diff?cvsroot=src&r1=1.319&r2=1.320
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/termios.cc.diff?cvsroot=src&r1=1.26&r2=1.27
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.h.diff?cvsroot=src&r1=1.86&r2=1.87
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/wait.cc.diff?cvsroot=src&r1=1.27&r2=1.28
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/winsup.h.diff?cvsroot=src&r1=1.135&r2=1.136



More information about the Cygwin-cvs mailing list