diff options
author | Tomas Janousek <tomi@nomi.cz> | 2020-02-23 18:34:57 +0000 |
---|---|---|
committer | Tomas Janousek <tomi@nomi.cz> | 2020-02-23 19:46:49 +0000 |
commit | 3731c92d899c2e5959f4cdb24bc34d5d372c8c69 (patch) | |
tree | f4feb151a945277f80bbe22922d013ceafaa4d94 /src/Xmobar/App/Compile.hs | |
parent | e662431a5cef5eacd68b987610f2d434fa687844 (diff) | |
download | xmobar-3731c92d899c2e5959f4cdb24bc34d5d372c8c69.tar.gz xmobar-3731c92d899c2e5959f4cdb24bc34d5d372c8c69.tar.bz2 |
Timer coalescing: handle exceptions in timer coordination thread
This corrects my (wrong) assumption that the timer coordination thread
will only fail if there's an error in the code, and in that case any
attempt to recover is futile. It turns out that the thread does fail
recoverably in one notable case: when running in the non-threaded RTS,
registerDelay fails immediately. And we probably still wish for xmobar
to support the non-threaded RTS.
One way to solve this issue is to add a bunch of #ifdefs and compile the
code only in the threaded case. This would double the number of
configurations that need to be tested, though.
Instead, let's make the code robust against all kinds of exceptions in
the timer coordination thread, and get non-threaded RTS support for
free.
Diffstat (limited to 'src/Xmobar/App/Compile.hs')
0 files changed, 0 insertions, 0 deletions