[Libreoffice-commits] core.git: Changes to 'private/jmux/scheduler-fixes'

Jan-Marek Glogowski glogow at fbihome.de
Tue Aug 15 07:57:14 UTC 2017


New branch 'private/jmux/scheduler-fixes' available with the following commits:
commit 05c35e942ba86f388d6cd0eed7ea7abe06215a1b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 09:03:49 2017 +0200

    Abort on critical Scheduler problems
    
    There is not much sense in trying to continue without the main
    lock. An other aspect are tasks with uncaught exceptions, which
    must not happen. In both cases simply abort.
    
    Change-Id: I4d52a6ef0526a1e46b64f9f3a6e0cc1a718618cc

commit efef0a609912287296fee173ec14e82f9c77ce71
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 09:02:16 2017 +0200

    SVP always drain the wakeup pipe
    
    Even when we have a lot of idle events, the pipe gets filled,
    so just drain it on every run.
    
    Change-Id: I7b6366b2649133b63138dc77fe51508404132890

commit 365bef06c5d909f72a2056e5923ee517f61cb55b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 09:19:37 2017 +0200

    tdf#99784 update Scheduler documentation
    
    Reflect special handling in the OSX backend.
    
    Change-Id: I6493ba6b6cf1c69f9fafc7ab583c430d72f73247

commit 5a18c89615b25af1cd7ea1de52f5652616fbf56a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 08:23:31 2017 +0200

    tdf#99784 OSX fix painting on resize
    
    While resizing MacOS suspends the NSDefaultRunLoopMode. So in this
    caae we can't post to the system event loop, but must use timers
    to restart ourself.
    
    Since the timer itself is scheduled on the NSEventTrackingRunLoopMode
    it' also triggers on resize events.
    
    There is still some minor glitch: when resizing too fast some part
    of LibreOffice isn't painted, while the left mouse button is down.
    
    Since there isn't any layouting triggered by the mouse up, there has
    to be an other inconsistency.
    
    Change-Id: I3ccba78bd23ec8526f21e7b93b027f3d3279f901

commit 12cd775011b78739f2d178d54b67d289b9b1299d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 8 15:03:37 2017 +0200

    tdf#99784 OSX run GUI stuff in the main thread
    
    The extension manager start dialogs from it's own thread. But the
    OSX backend currently doesn't defer these calls to the main thread.
    This implements the deference using dispatch_sync.
    
    Since dispatch_sync can't return any values, we have to use a
    thread-id based map to transfer the return values from the main
    thread to the callers.
    
    The implementation uses macros, so it can rely on guard objects.
    
    Change-Id: Id8977991e3eda91da27c23d8021e028d4f4cefe5

commit 7e8525484c85b8af053ce0e750b9be8532e9b58c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 9 17:38:46 2017 +0200

    OSX dispatch user events via main loop
    
    Otherwise we deadlock when dispatching ChangeRequestQueueProcessor events
    from Java unit tests / UNO.
    
    Change-Id: I2e9142650f5de83f0f4f382d90866e6d89f4eec8

commit fcb875539fbfe35a07d08b0c1fff8b41d81621b8
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 08:20:18 2017 +0200

    Add (DY)LD_LIBRARY_PATH to environment output
    
    Change-Id: I53604afa0c7f31f4eb7eed29793a49f7a1e037aa

commit 8facbedc4993190329c1144e3032447a9201a29a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 08:05:51 2017 +0200

    Optionally release one or all yield locks
    
    Adds an additional boolean parameter to ReleaseYieldMutex.
    In theory nobody should depend on the plain mutex.
    
    Change-Id: If7fa108067e6c6b91d14f04df22984021649711f

commit 230a47f843b2d7a99d0fbd4e88e923046f549a14
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 07:52:12 2017 +0200

    Really run the layouter every 50ms
    
    By Start()-ing the Idle, it's always reset, so with fast
    resizes you could actually postpone layouting indefinitly.
    
    Change-Id: Ie90b6f3f378ee8d163f621fce51280e09c826f14

commit dd24747a27950b4146d4e46b466d543f609c9f63
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 9 17:48:48 2017 +0200

    Remove 500ns offset from GetSystemTicks()
    
    This doesn't make any sense. The orignal idea might have been to
    somehow be in the middle of 1ms, for whatever reason.
    
    And it completely breaks, if we want to sleep 0ms.
    
    Change-Id: I525b70c016876a96aa17edefe8c076b122ee2527

commit 13f1c6abe9825c50c7a0aeda2b775c8f9a6a6884
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 8 15:02:52 2017 +0200

    The scheduler timer runs without SolarMutex
    
    The backend is resposible to correctly start the timer.
    Otherwise you can't start new Tasks without the SolarMutex.
    
    Change-Id: I4e066fceb513d0de90b58854baf3e45f2b8ff25b

commit 9330ae5d596ff3e759b8bd73e6a185b412e90ed1
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Aug 7 21:10:11 2017 +0200

    Don't poll the extension install progress bar
    
    Just start the Idle, if actually something changed.
    
    Quite probably we shouldn't rely on an Idle at all, but this
    fixes the busy loop while installing an extension waiting in
    a confirmation dialog.
    
    Change-Id: I3abbe2eb6651ce9320ef6e4d9c5251a23ab87216

commit d16883363312ea69823b55228df41ff48f26a29c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Jul 28 17:13:20 2017 +0200

    WIP Assert active Tasks on scheduler DeInit
    
    This shuts down the VCL scheduler later in the DeInitVCL call and
    asserts active pending tasks, as these will never be processed
    after shutdown.
    
    There is currently a TODO whitelist, so the unit tests still pass
    but probably most of these should be fixed. No task in the list
    looks critical - all seem to do some idle / cleanup work.
    
    This also processes all the Idles before shutdown. All seem to be
    of type sfx::SfxItemDisruptor_Impl.
    
    Change-Id: I9cc484a525cc2bacd54c4f271f86997517393e92

commit 3303ae59619b5cd2e6a6fca3cc27496d93d73790
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Aug 15 08:42:56 2017 +0200

    Get system thread ID from LOs own identifier
    
    Stores the system TID for Linux and MacOS.
    On Windows the internal TID is already the system TID.
    
    Change-Id: I18f822c3ceb82c7655405cda4b8e2c2ef0211207



More information about the Libreoffice-commits mailing list