|
|
On 7/6/21 7:10 PM Manolo wrote:
Le mardi 6 juillet 2021 à
16:04:32 UTC+2, Albrecht Schlosser a écrit :
My basic idea is to unify (and therefore simplify) the
timer event handling on all platforms. I've seen IMHO too
much platform specific code to handle timer events. The more
platforms we add, the more platform specific code we need to
maintain.
My goal is to do as much as possible in platform independent
code. This platform independent code would schedule timer
events by adding them to the timer event queue - in my model
the Unix/Linux code would be a valid implementation. This
could be done on all current and future platforms in a
platform independent way. There would also be only one
platform independent timer event processing function. This
could be (like) the current Unix/Linux implementation which
decrements the timer delay of all timer events in the queue.
The only platform dependent code should be the scheduling of
the timer event. This could be as it is now on Unix/Linux to
reduce the select/poll timer to the next timer delay or to
schedule exactly one system timer on each platform which
would be the delta time to the next (first) timer event. The
only requirement is that the resulting timer event would
call the platform independent process_timer_event()
function.
For further clarification: my model would allow to use the
fd approach we're using now as well as POSIX timers and
Windows or macOS timers as long as we're only scheduling one
timer for all systems and we're doing the timer event
processing in only one system independent function. This is
basically what I want to achieve.
This would allow us to get the same behavior on all current
and future platforms including the optimal "repeated timer
delay correction" with the minimum of platform specific
code. A nice side effect would be that porting to another
platform would be simplified.
Good. I think I begin to understand more clearly what is
your proposal. It requires to distinguish between timer queue
entries and system timers
and to have only one system timer. I had not envisaged this
before. That seems to allow to much reduce the
platform-specific part of timer support.
I look forward your proposal.
Thanks for your comments. I'm going to look closer into the code and
I'll work on a proposal...
--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/631234a1-6976-9c10-e7a2-a192ce3d4271%40online.de.
[ Direct Link to Message ] | |
|
| |