Hi Tim:
         I tried your code on my NT32 and had found these below:

1.       When passing 0 to SetTimer, The event is signaled only once. No more 
event will be signaled. This seems an issue in core. 0 should work to signal 
event at system timer rate.

2.       When passing 1000000000000000, the event will not be signaled until 
the 1000000000000000 is passed. It is much long time to wait. When I reduced to 
30000000, e.g. signal event is in 3s interval, it is good.
I am not sure you could miss one event signal when passing 0. I made an update 
and you could try to see if you still have problem with passing 0 to SetTimer.

Thanks
Elvin

From: Tim Lewis [mailto:[email protected]]
Sent: Thursday, September 20, 2012 5:40 AM
To: [email protected]<mailto:[email protected]>
Subject: [edk2] SetTimer and NT32

Under NT32, I am getting strange timer behavior and wonder if anyone else has 
seen this. I set up a timer, as follows:


gBS->CreateEvent (

    EVT_TIMER,

    0,

    NULL,

    NULL,

    &mEvent

    );

  gBS->SetTimer (

    mEvent,

    TimerPeriodic,

    1000000000000000

    );

If I use gBS->WaitForEvent on mEvent, it doesn't seem to make a difference 
whether I specify 0 or 1000000000000000, I get the same tick rate.

Any thoughts?

Tim

Attachment: Timer.patch
Description: Timer.patch

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to