Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


Hi guys,

        Sorry to bounce in and out again; but I merged your adaptations of the
Idle API pieces to master last night, and added a few bits on top that
we badly need just now to stabilize profiling =) That will be in 4.4.
However, not got a lot more time to invest here this week.

        Of course - there is a lot more API work needed and then we need to
hook up your nice new priority based system there.

        Also - in reading that code, I can't help noticing it is an abomination
in so many ways =)

        As well as adding priorities - I think we need to do this:

        * unify Timer and ImplTimerData state ...
                + we should prolly move all the 'protected' state
                  data except for the Impl pointer into ImplTimerData
                + and prolly call that member pImpl for good measure

        * ImplTimerData / linked list
                + this is an abomination =)
                + certainly there are re-enterancy hazards here and
                  having the Impl lifecycle de-coupled via the
                  'mbDeleted' thing makes some sense but ...
                + manual linked list manipulation is a horror.
                + it'd be good to re-work that to use a std::list or
                  somesuch.

        * ImplTimerData / linked list
                + it seems crazy to me not to have that list sorted
                  by deadline and/or priority - so to find work we
                  can just pop it off the queue; is it ? 

        Of course, it'd be great to have these all as separate easy-to-review /
re-factor commits.

        Otherwise - really looking forward to having the API pushed across the
code; then proper priorities and all the other good bits from your work
in there.

        Hope that helps,

                Michael.

-- 
 michael.meeks@collabora.com  <><, Pseudo Engineer, itinerant idiot


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.