This is the mail archive of the ecos-cvs@sources.redhat.com mailing list for the ecos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ecos/packages/kernel/current ChangeLog cdl/ker ...


CVSROOT:	/cvs/ecos
Module name:	ecos
Changes by:	nickg@sourceware.org	2003-07-01 17:34:54

Modified files:
	packages/kernel/current: ChangeLog 
	packages/kernel/current/cdl: kernel.cdl 
	packages/kernel/current/include: clock.hxx clock.inl 
	packages/kernel/current/src/common: clock.cxx 
Added files:
	packages/kernel/current/tests: kalarm0.c 

Log message:
	* include/clock.hxx: Made Cyg_Counter::add_alarm() and
	Cyg_Counter::rem_alarm() private functions. They no longer lock
	the scheduler, so should not be called directly, only via the
	Cyg_Alarm functions.
	
	* include/clock.inl: Removed inline version of
	Cyg_Alarm::disable(). It's no longer a one-liner and is thus
	better as a proper function.
	
	* src/common/clock.cxx (Cyg_Counter::tick): Rewrote the unsorted
	list option. If the function of one alarm adds or removes other
	alarms, then is was possible for the list to become corrupted. The
	new implementation attempts to avoid this problem.
	(Cyg_Alarm::initialize): Added scheduler locking to protect the
	enabled flag.
	(Cyg_Alarm::enable): Ditto.
	(Cyg_Alarm::disable): Ditto. Moved here from clock.inl.
	(Cyg_Alarm::add_alarm): Removed scheduler locking, it is now
	always called from functions that have already locked it. Added an
	assertion to double-check this.
	(Cyg_Alarm::rem_alarm): Ditto.
	
	* cdl/kernel.cdl:
	* tests/kalarm0.c:
	Added new test to test that alarms can be added and removed in
	alarm functions safely.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]