E&S CVS Commit: PEAK - Lots of 'peak.events' migration:

pje at eby-sarna.com pje at eby-sarna.com
Sun Jan 18 22:36:00 EST 2004


Module Name:	PEAK
Committed By:	pje
Date:		Mon Jan 19 03:35:36 UTC 2004

Modified Files:
	PEAK: CHANGES.txt TODO.txt
	PEAK/src/peak: peak.ini
	PEAK/src/peak/events: event_threads.py interfaces.py sources.py
	PEAK/src/peak/running: interfaces.py process.py scheduler.py
	PEAK/src/peak/running/tests: __init__.py
	PEAK/src/peak/tools/supervisor: process.py
Added Files:
	PEAK/src/peak/events: io_events.py

Log Message:
Lots of 'peak.events' migration:

Added 'events.ISignalSource', that returns 'events.Broadcaster' objects for
signals.  This allows you to yield to signals in an 'events.Thread', or
safely set one-time callbacks on them.

'running.ISignalManager' is now DEPRECATED; please use
'events.ISignalSource' instead.

'running.IMainLoop' has been changed to use an 'events.IReadable' for
the 'lastActivity' attribute, and the 'setExitCode' and 'childForked'
methods have been replaced with an 'exitWith()' method.

The 'peak.running.mainLoop.signalHandler' property has been replaced with
'peak.running.mainLoop.stopOnSignals', which defaults to including SIGINT,
SIGTERM, and SIGBREAK.  If you need custom signal handling, please use
the event sources provided by an 'events.ISignalSource'.

'peak.running.process.ChildProcess' has been rewritten to use
'events.ISignalSource' and an 'events.Thread' to monitor SIGCHLD.  Removed
'checkStatus()' from the 'running.IProcessProxy' interface.

Made most event sources weak-referenceable.

Changed 'events.Thread' to keep a reference to an object it's yielding on,
so that "weak" events like signals and I/O events will hang around until
they call back to the thread.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/CHANGES.txt.diff?r1=1.121&r2=1.122
http://cvs.eby-sarna.com/PEAK/TODO.txt.diff?r1=1.95&r2=1.96
http://cvs.eby-sarna.com/PEAK/src/peak/peak.ini.diff?r1=1.117&r2=1.118
http://cvs.eby-sarna.com/PEAK/src/peak/events/event_threads.py.diff?r1=1.5&r2=1.6
http://cvs.eby-sarna.com/PEAK/src/peak/events/sources.py.diff?r1=1.5&r2=1.6
http://cvs.eby-sarna.com/PEAK/src/peak/events/interfaces.py.diff?r1=1.6&r2=1.7
http://cvs.eby-sarna.com/PEAK/src/peak/events/io_events.py?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.eby-sarna.com/PEAK/src/peak/running/interfaces.py.diff?r1=1.30&r2=1.31
http://cvs.eby-sarna.com/PEAK/src/peak/running/process.py.diff?r1=1.16&r2=1.17
http://cvs.eby-sarna.com/PEAK/src/peak/running/scheduler.py.diff?r1=1.36&r2=1.37
http://cvs.eby-sarna.com/PEAK/src/peak/running/tests/__init__.py.diff?r1=1.15&r2=1.16
http://cvs.eby-sarna.com/PEAK/src/peak/tools/supervisor/process.py.diff?r1=1.6&r2=1.7

To generate a diff of this commit:
cvs rdiff -r1.121 -r1.122 PEAK/CHANGES.txt
cvs rdiff -r1.95 -r1.96 PEAK/TODO.txt
cvs rdiff -r1.117 -r1.118 PEAK/src/peak/peak.ini
cvs rdiff -r1.5 -r1.6 PEAK/src/peak/events/event_threads.py \
    PEAK/src/peak/events/sources.py
cvs rdiff -r1.6 -r1.7 PEAK/src/peak/events/interfaces.py
cvs rdiff -r0 -r1.1 PEAK/src/peak/events/io_events.py
cvs rdiff -r1.30 -r1.31 PEAK/src/peak/running/interfaces.py
cvs rdiff -r1.16 -r1.17 PEAK/src/peak/running/process.py
cvs rdiff -r1.36 -r1.37 PEAK/src/peak/running/scheduler.py
cvs rdiff -r1.15 -r1.16 PEAK/src/peak/running/tests/__init__.py
cvs rdiff -r1.6 -r1.7 PEAK/src/peak/tools/supervisor/process.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




More information about the source-changes mailing list