1. 08 Jun, 2021 7 commits
    • Philip Withnall's avatar
      Merge branch 'resimplify-w32-veh' into 'main' · 601ef3b6
      Philip Withnall authored
      Re-simplify exception handling on Windows
      See merge request GNOME/glib!2031
    • LRN's avatar
      Fix the math in copy_chars · 0908e6a8
      LRN authored and LRN's avatar LRN committed
      Now we end up returning a pointer to the end of the buffer
      after we run out of space. On subsequent calls copy_count will
      end up being 0.
    • LRN's avatar
      Test the wchar_t version of pid-event subst routine · fbd7a37e
      LRN authored
      Also move env setup earlier in the test, to ensure that
      the child gets the envvars during initialization.
      Also, don't look for exception codes in stderr, since
      OutputDebugStringA() doesn't dump stuff there.
    • LRN's avatar
      Convert the crash handler to UTF-16, mostly · 5c187b93
      LRN authored
    • LRN's avatar
      W32: Remove allocations from the crash handler · 6d9c3e32
      LRN authored
      Use OutputDebugStringA() instead of fprintf.
      The goal for this code is to inform the person running the debugger
      about the exception that caused the debugger to be attached.
      This is useful for debugging with gdb, because gdb does not catch Windows
      exception information (it just displays "Segmentation fault").
      OutputDebugStringA() ensures that the output goes to the debugger,
      and the (ab)use of strcpy() with a stack-allocated buffer ensures
      that we do not allocate anything while the crash handler is running,
      nor to we call CRT functions that can be reasinably expected to allocate
    • LRN's avatar
      W32: Initialize debugger stuff in advance · 891e3a0b
      LRN authored
      Since VEH is invoked when an exception occurs (which, for us,
      is mostly when the program is already crashing), we should
      try to avoid doing much processing at that point. Since these
      things (debugger commandline, a list of extra exceptions to catch)
      are known in advance, set them up during initialization.
    • LRN's avatar
      W32: Don't use g_getenv() in crash handler or during initialization · 1955ede4
      LRN authored
      The first is to avoid any non-trivial code in the crash handler.
      The second is to avoid the use of quarks and hash tables (brought
      in by g_getenv()) during GLib initialization.
  2. 07 Jun, 2021 15 commits
  3. 05 Jun, 2021 3 commits
  4. 04 Jun, 2021 4 commits
  5. 03 Jun, 2021 9 commits
  6. 02 Jun, 2021 2 commits