<div dir="ltr">I think I have implemented what you suggested and my new test is passing on positive and negative cases.<div><br></div><div>Hopefully this version is ready to merge so I can begin to test the new build system. <hint></div><div><br></div><div>Thanks.</div><div><br></div><div>--joel</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 4, 2019 at 12:51 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 04/12/2019 04:04, Joel Sherrill wrote:<br>
> Hi<br>
> <br>
> _TOD_Set() currently can't fail. With the addition of the TOD hooks, if a<br>
> BSP hook returns false, then _TOD_Set will fail. This requires that the lock<br>
> acquired by _TOD_Acquire before _TOD_Set is invoked as in rtems_clock_set()<br>
> should be released on the failure path.  I don't see a _TOD_Release method.<br>
> What method needs to be invoked on the hook error path?<br>
<br>
You have to move<br>
<br>
#define _Timecounter_Release(lock_context) \<br>
   _ISR_lock_Release_and_ISR_enable(&_Timecounter_Lock, lock_context)<br>
<br>
to <rtems/score/timecounter.h> and use it to add a _TOD_Release() to <br>
<rtems/score/todimpl.h>.<br>
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
</blockquote></div>