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

            Bug ID: 423931
           Summary: ability to reset global KSycoca instance
           Product: frameworks-kservice
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: fa...@kde.org
          Reporter: sit...@kde.org
                CC: kdelibs-b...@kde.org
  Target Milestone: ---

Relates to bug #423928 and kind of to bug #423818

The service runner which includes apps/kcms and the like in krunner/kickoff
results, runs in thread-woven threads meaning it can initialize up to N ksysoca
instances; where N = thread pool size.

This is problematic since ksycoca includes a kdirwatch and kdirwatch holds an
inotify instances and inotify instances are capped per-user, so we can
contribute substantially to exhaustion of that limit with unused/unuseful
ksycoca instances that hold unused/unuseful kdirwatch instances.

Dealing with this is a bit awkward but the best option might be to grow API
that allows the runner to forcefully unset & delete the thread-local KSycoca
instance once the runner is done. That way the KDirWatch also gets deleted and
the KDirWatch internals can take care of closing the inotify instance.

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

Reply via email to