This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author sdaoden
Recipients nadeem.vawda, pitrou, sdaoden, vstinner
Date 2011-05-12.13:29:03
SpamBayes Score 1.4344831e-09
Marked as misclassified No
Message-id <20110512132855.GA31022@sherwood.local>
In-reply-to <1305204463.81.0.983075088463.issue12060@psf.upfronthosting.co.za>
Content
> On my Linux box, Python 3.3 says that signal.NSIG is equal to 65
> which looks correct.

On FreeBSD NSIG only counts "old" signals (32, one 32 bit mask),
SIGRTMIN is 65 and SIGRTMAX is 126.
Our internal old signal.h states

        * If we do have realtime signals, #rtmin is 35 (i.e.,
        * #nsig, FreeBSD+) or something like 38 or even 40 (Linux),
        * and #rtmax is most likely 64 (Linux) or 128 (FreeBSD+).

so that this seems to be somewhat constant in time.
(#rtmin: we take some of those RT sigs for internal purposes if
possible.  This was maybe a bad and expensive design decision.)

> Why do you care about the default action?

* \brief Hooking program crashes (\psa crash.h crash.h\epsa).
* \note
* Installed hooks (normally) execute from within an internal
* signal handler!

So many syscalls for things which don't matter almost ever.
And that may even cost context-switches sometimes.

> I don't understand: I don't use RTMAX in my patch.

+    for (signum = 1; signum < NSIG; signum++) {

This will not catch the extended signal range on FreeBSD.
History
Date User Action Args
2011-05-12 13:29:04sdaodensetrecipients: + sdaoden, pitrou, vstinner, nadeem.vawda
2011-05-12 13:29:04sdaodenlinkissue12060 messages
2011-05-12 13:29:03sdaodencreate