1. 07 Sep, 2020 1 commit
    • Arjen Hiemstra's avatar
      Do not use QStringView of a temporary · d5876529
      Arjen Hiemstra authored
      QString::mid() return a temporary QString. QStringView doesn't actually
      hold any reference to data, so the temporary gets deleted somewhere
      after we create the string view, which makes the string view invalid. So
      instead, use QStringRef here for which there is a separate method.
  2. 27 Aug, 2020 1 commit
    • Arjen Hiemstra's avatar
      Prevent CGroup object deletion from crashing the application · da9b3d62
      Arjen Hiemstra authored
      In certain cases, a race condition seems to come up where the PID
      retrieval thread tries to set the PIDs while the cgroup object is being
      deleted. So lock the mutex in the destructor, so that if that should
      happen, destruction will block while the PIDs are being updated.
  3. 19 Aug, 2020 1 commit
  4. 12 Aug, 2020 1 commit
  5. 11 Aug, 2020 1 commit
  6. 31 Jul, 2020 1 commit
  7. 28 Jul, 2020 1 commit
  8. 13 Jul, 2020 1 commit
    • David Edmundson's avatar
      Unescape cgroup names · 9ac34710
      David Edmundson authored
      Some characters are reserved for semantic reasons, in particular '-',
      which will be escaped by the cgroup controller.
      This patch unescapes them for anything used in lookups or display.
      CGroup::id() remains unchanged.
  9. 26 Jun, 2020 1 commit
    • David Edmundson's avatar
      Introduce API for handling cgroups · beae8176
      David Edmundson authored
      A model is exposed that groups processes by cgroup and provides grouped
      The model can be started and stopped and can be set to follow a given
      root. All system units, all users, or a specific slice within that.
      Information for all pids is calcuated totalled and included via the
      ProcessAttribute helpers.
      Cgroups are set to handle applications that follow
      https://systemd.io/DESKTOP_ENVIRONMENTS for grouping of applications. A
      convenience model ApplicationDataModel subclass exposes this directly.
      The exposed model is a 1:1 mapping of ProcessDataModel for easy drop-in.