simon-git: tring (master): tring.git
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Tue Nov 1 19:54:35 GMT 2016
TL;DR:
f0fc33a Add a simple log-file system.
08f6575 Make the NETWORK FAULT message not permanent!
19ebf99 A couple of cleanups to the new graphics.
3ff4451 Rework SIGCHLD handling to use a self-pipe.
Repository: https://git.tartarus.org/simon/tring.git
On the web: https://git.tartarus.org/?p=simon/tring.git
Branch updated: master
Committer: tring.git
Date: 2016-11-01 19:54:35
commit f0fc33ace2ba137d67003e5988f1dd1d9e2ab4ea
web diff https://git.tartarus.org/?p=simon/tring.git;a=commitdiff;h=f0fc33ace2ba137d67003e5988f1dd1d9e2ab4ea;hp=9b97a54b522c18a48de82074c13a7fe4fa17fb13
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Nov 1 19:11:15 2016 +0000
Add a simple log-file system.
I'm tired of the periodic mysterious NETWORK FAULT messages at
startup, and I want to be able to look afterwards and see why they
happen. This should be enough logging to find out at least something.
debugchumby | 6 +-
display.c | 52 +++++++++++---
tring.c | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
tring.h | 8 ++-
4 files changed, 264 insertions(+), 29 deletions(-)
commit 08f65758e736c6fdeb7636dca66c8f362d2d26a0
web diff https://git.tartarus.org/?p=simon/tring.git;a=commitdiff;h=08f65758e736c6fdeb7636dca66c8f362d2d26a0;hp=f0fc33ace2ba137d67003e5988f1dd1d9e2ab4ea
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Nov 1 07:10:06 2016 +0000
Make the NETWORK FAULT message not permanent!
We enable it on a failure to read exceptions data, but never disable
it again, even if a subsequent retry is successful.
tring.c | 1 +
1 file changed, 1 insertion(+)
commit 19ebf99f4175c90b3d534186ccec39549cd64594
web diff https://git.tartarus.org/?p=simon/tring.git;a=commitdiff;h=19ebf99f4175c90b3d534186ccec39549cd64594;hp=08f65758e736c6fdeb7636dca66c8f362d2d26a0
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Nov 1 19:12:19 2016 +0000
A couple of cleanups to the new graphics.
The alarm time and other bottom-line messages were not at the same
height, because one of my drawing classes was treating the provided
y-coordinate as the baseline, while the other was treating it as half
way up the cap-height. The latter was right. Also, the adjustment
arrows were a bit absurdly tall, so I've reduced them to more sensible
proportions.
graphics.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
commit 3ff445188b9c88a25533090f5b7afe94cf671710
web diff https://git.tartarus.org/?p=simon/tring.git;a=commitdiff;h=3ff445188b9c88a25533090f5b7afe94cf671710;hp=19ebf99f4175c90b3d534186ccec39549cd64594
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Nov 1 19:49:29 2016 +0000
Rework SIGCHLD handling to use a self-pipe.
I got the mysterious network fault message to show up with my new
logging in place, and it turns out that the subprocess doing HTTP was
actually _still working_, but for some reason the parent process had
become convinced that the subprocess had terminated, and then when it
didn't find anything in the 'excdata' shared memory, it reported a
fault.
I can't immediately work out what was wrong with my old SIGCHLD
handling, but it smells strongly to me of a race condition of some
kind involving the signal handler. Therefore, I've switched to my more
usual practice of having the signal handler do nothing but notify the
main select loop via a write to a pipe, and then doing the waitpid()
in the context of the main loop.
(Another outside possibility is that my SIGCHLD handler was actually
detecting some ALSA-related subprocess terminating, and mistakenly
thinking the exception retrieval process had terminated instead. I've
tried to be a bit more careful in the replacement code about
identifying the terminated process, and even if that fails, I'm at
least reliably logging _what_ process has terminated, so that the log
should contain evidence if there still turns out to be a problem.)
chumby.c | 10 +++++--
gtk.c | 22 ++++++++++++---
tring.c | 95 ++++++++++++++++++++++++++++++++++++----------------------------
tring.h | 11 ++++----
4 files changed, 85 insertions(+), 53 deletions(-)
More information about the tartarus-commits
mailing list