1. 07 Jul, 2020 4 commits
    • Philip Withnall's avatar
      gspawn: Add sysprof trace support for spawning · 7cd67c93
      Philip Withnall authored
      Use this to replace the much-hated `g_debug()` which told people that
      `posix_spawn()` (the fast path) wasn’t being used for various reasons.
      
      If people want to make their process spawning faster now, they’ll have
      to use a profiling tool like sysprof to check their program’s
      performance. Shocking.
      
      I think I was wrong to put this `g_debug()` in there in the first place
      — it hasn’t served its purpose of making people speed up their spawn
      paths to use `posix_spawn()`, it’s only cluttered up logs and frustrated
      people.
      Signed-off-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
      7cd67c93
    • Philip Withnall's avatar
      gtask: Include task name in complete_in_idle_cb source name · 6f281ce2
      Philip Withnall authored
      `complete_in_idle_cb()` shows up in a lot of sysprof traces, so it’s
      quite useful to include the most specific contextual information we can
      in it.
      Signed-off-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
      6f281ce2
    • Philip Withnall's avatar
      gmain: Add sysprof tracing to GMainContext and GSource · bfe16174
      Philip Withnall authored
      This allows you to see how long each `GMainContext` iteration and each
      `GSource` `check`/`prepare`/`dispatch` takes. It provides more detail
      than sysprof’s speedtrack plugin can provide, since it has access to
      more internal GLib data.
      
      Use it with `sysprof-cli`, for example:
      ```
      sysprof-cli --use-trace-fd -- my-test-program
      ```
      Signed-off-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
      bfe16174
    • Philip Withnall's avatar
      gtrace: Add sysprof tracing support infrastructure · fa13c41d
      Philip Withnall authored
      Add some internal wrappers around sysprof tracing, so that it can be
      used throughout GLib without exposing all the details of sysprof
      internally.
      
      This adds an optional dependency on `libsysprof-capture-4`. sysprof
      support is disabled without it.
      
      This depends on the GLib dependency of `libsysprof-capture` being
      dropped in GNOME/sysprof!30,
      which has bumped the soname of `libsysprof-capture` and added subproject
      support.
      
      The next few commits will add marks that trace out each `GMainContext`
      iteration and each `GSource` `check`/`prepare`/`dispatch` call.
      Signed-off-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
      fa13c41d
  2. 05 Jul, 2020 1 commit
  3. 04 Jul, 2020 1 commit
    • Felix Riemann's avatar
      gdesktopappinfo: Fix unnecessarily copied and leaked URI list · 88fe7813
      Felix Riemann authored
      When an app is spawned using g_desktop_app_info_launch_uris_with_spawn
      it will expand the various token in the app's commandline with the
      URIs of the files to open. The expand_macro() function that is used for
      this advances the pointer to the URI list to show up to which entries
      it used.
      
      To not loose the pointer to the list head a duplicate of the URI list
      was actually passed to expand_macro(). However, it's not necessary to
      create a copy of the URI list for that as expand_macro() will only
      change which element the pointer will point to.
      
      This behaviour actually caused the duplicated list to be leaked as the
      the list pointer is NULL once all URIs are used up by expand_macro()
      and thus nothing was freed at the end of the function.
      88fe7813
  4. 03 Jul, 2020 2 commits
  5. 02 Jul, 2020 1 commit
  6. 01 Jul, 2020 9 commits
  7. 30 Jun, 2020 4 commits
  8. 29 Jun, 2020 7 commits
  9. 28 Jun, 2020 1 commit
  10. 25 Jun, 2020 10 commits