https://bugs.kde.org/show_bug.cgi?id=481993

Harald Sitter <sit...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/discover/-/commit/bdee5a
                   |                            |19e435cacd53480a65d63a01932
                   |                            |da1b639
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #22 from Harald Sitter <sit...@kde.org> ---
Git commit bdee5a19e435cacd53480a65d63a01932da1b639 by Harald Sitter.
Committed on 26/03/2024 at 22:14.
Pushed by sitter into branch 'master'.

flatpak, packagekit: fix threaded deadlock in dlopen/gmodule

the use of threads caused a deadlock between appstream's lazy
initialization code running in one thread and flatpak's init running in
another. the two would try to dlopen further libraries of which some
will gmodule load plugins. the problem appears to then be that the
threads can end up locked between two mutexes (the dlopen one and the
gmodule one).

instead use a safer albeit less efficient means of init: queue the init
into the event loop. this uses a two stage queue which looks a bit funny
but seems to have much the same performance characteristics as the
threading did.

M  +26   -16   libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp
M  +17   -7    libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp

https://invent.kde.org/plasma/discover/-/commit/bdee5a19e435cacd53480a65d63a01932da1b639

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to