[ros-dev] Re: [ros-svn] [hbirr] 14443: - Fixed ExTimerRundown.
Alex Ionescu
ionucu at videotron.ca
Sun Apr 3 13:10:25 CEST 2005
Hartmut Birr wrote:
>Alex Ionescu wrote:
>
>
>
>>hbirr at svn.reactos.com wrote:
>>
>>
>>
>>>- Fixed ExTimerRundown.
>>>
>>>
>>>
>>Hi,
>>
>>Can you please explain some of your changes? You have introduced
>>several changes that I don't understand, such as cancelling the
>>timer's APC without actually making sure that it has an APC
>>associated, as well as slowing down the path and forcing additionnal
>>locking of the DB lock by using KeCancelTimer (which also uselessly
>>checks if the timer is inserted -- we are sure it already is).
>>
>>
>
>Hi,
>
>the thread's active timer list can only contain timers which have an apc
>associated. It isn't necessary to check for an apc. There exist a little
>gap between deliver the apc and calling the apc routine which can
>removes the timer itself from the list. In this case the timers apc and
>dpc aren't on the apc and dpc list and some of the called functions do
>nothing (KeRemoveQueueDpc, KeRemoveQueueApc, KeCancelTimer). The goal
>for my changes was get the apc2 sample working again.
>\
>
>
Hi,
You are absolutely right, but I was still afraid that ApcPresent might
be set to FALSE while the timer is still on the list, but even then, as
you said, the functions don't do anything.
I still think however that it would be wiser to inline the KeCancelTimer
call and avoid the Dispatcher lock acquire/release and inserted check..
Best regards,
Alex Ionescu
More information about the Ros-dev
mailing list