|
From: | Jörg F . Wittenberger |
Subject: | Re: [Chicken-users] replace signal with sigaction |
Date: | 29 Sep 2011 17:45:46 +0200 |
Here an interesting finding: On Sep 29 2011, Alan Post wrote:
This patch replaces signal with sigaction for registering signals. sigaction is a newer API for signal processing that fixes some deficiencies of the original signal API. One fix can be seen in this patch: we don't have to reregister the signal handler after a signal is sent. That prevents a race condition whereby a signal is delivered, our signal handler is reset, and before we can reregister our signal handler, another signal is sent (which we then miss).
Since I'm quite old school I've been used to the meaning of signals to be "almost reliable". Except under arbitrary complex usage restrictions. Hence I rarely ever tried to count signals, but use them as a hint, which operation would be in order. This might have been not enough! Turn out that with your patch applied something changed: I had one usage case, which "almost sure" (say ~50%+-25%) would run into that eat-all-memory condition. I tried too often, I fail to reproduce the condition. However at this time I can't convince myself that this is not a false positive. :-/
[Prev in Thread] | Current Thread | [Next in Thread] |