Article View: comp.std.c++
Article #3103Re: Throwing an exception from within a signal handler
From: Bill Leonard
Date: Wed, 24 Jan 1996 20:24
Date: Wed, 24 Jan 1996 20:24
46 lines
3114 bytes
3114 bytes
In article <4e35jg$k8c@galaxy.ucr.edu>, thp@cs.ucr.edu (Tom Payne) writes:
> If the ABI implementation of signal blocking is missing or has high
> overhead, then we can use global flags inside the program to reduce
> blocking to setting a bit and reduce unblocking to clearing that bit
> and checking whether a deferred signal has arrived (in which case
> there is additional overhead to check which signal to process it).
Maybe I've missed something here, but wouldn't that code have to appear in
every function prologue and epilogue? The only reason for signal blocking
(I thought) was that trying to propagate an exception into or through a
stack frame that is partially constructed or destroyed is problematic.
I certainly wouldn't want code to check (and handle) a signal to be
generated in every function prologue! Talk about code bloat!
> Agreed!! Note however that an increasing percentage of programs have
> asynchornous aspects to them, under headings such as "event-driven",
> "real-time", "multi-threaded", "parallel", "concurrent", etc.
Many of those programs also have pretty stringent performance requirements.
Our business *is* real-time, and I've seen many times when getting rid of
just one instruction in a key location would buy a lot of performance. I'd
be against any requirement that forced me to add instructions in function
prologues/epilogues.
--
Bill Leonard
Harris Computer Systems Corporation
2101 W. Cypress Creek Road
Fort Lauderdale, FL 33309
Bill.Leonard@mail.hcsc.com
These opinions and statements are my own and do not necessarily reflect the
opinions or positions of Harris Computer Systems Corporation.
------------------------------------------------------------------------------
There's something wrong with an industry in which amazement is a common
reaction to things going right.
"Hard work never scared me. Oh, sure, it has startled me from a distance."
-- Professor Fishhawk
------------------------------------------------------------------------------
---
[ comp.std.c++ is moderated. Submission address: std-c++@ncar.ucar.edu.
Contact address: std-c++-request@ncar.ucar.edu. The moderation policy
is summarized in http://dogbert.lbl.gov/~matt/std-c++/policy.html. ]
Technical Details
Message-ID:
<4e631s$2fg@hawk.hcsc.com>Path:
arc1-ca.pugleaf.net!fido.asd.sgi.com!austernReferences:
<4du0gr$8k8@galaxy.ucr.edu> <4e0moi$4dp@engnews1.Eng.Sun.COM> <4e35jg$k8c@galaxy.ucr.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!fido.asd.sgi.com!austern From: bill@amber.ssd.hcsc.com (Bill Leonard) Newsgroups: comp.std.c++ Subject: Re: Throwing an exception from within a signal handler Date: 24 Jan 1996 12:24:27 PST Organization: Harris Computer Systems, Ft. Lauderdale FL Approved: austern@isolde.mti.sgi.com Message-ID: <4e631s$2fg@hawk.hcsc.com> References: <4du0gr$8k8@galaxy.ucr.edu> <4e0moi$4dp@engnews1.Eng.Sun.COM> <4e35jg$k8c@galaxy.ucr.edu> Reply-To: Bill.Leonard@hawk.hcsc.com NNTP-Posting-Host: isolde.mti.sgi.com X-Original-Date: 24 Jan 1996 19:58:52 GMT X-Auth: PGPMoose V1.1 PGP comp.std.c++ iQBVAwUBMQaVpky4NqrwXLNJAQHw7gH+MAVrRNtTfL3cQpgH2HMlylOok7Y4xggt c0/e9OMhdA760ZhCOi2W4c8fbNqSCKL2NMKIi2mVt/gDMlCQBnQqoA== =dmsQ Originator: austern@isolde.mti.sgi.com