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.  :-/




_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to