Article View: comp.programming.threads
Article #17Re: Is STL MT-Safe?
From: Tom Payne
Date: Fri, 19 Apr 1996 22:31
Date: Fri, 19 Apr 1996 22:31
61 lines
3793 bytes
3793 bytes
David Brownell (brownell@ix.netcom.com) wrote:
: Tom Payne wrote:
[...]
: >
: > The standards process is the appropriate forum for such vendor
: > agreement. Unfortunately, the standards bodies have failed to provide
: > the necessary leadership in the areas involving concurrency and
: > asynchrony. Perhaps, these bodies simply have other fish to fry --
: > getting the current standard completed is an monumental task.
:
: Well, POSIX.1c happened; it's the ANSI/ISO C++ team that's said such
: issues are "out of scope" for now. I don't think it's realistic to
: expect POSIX to produce a C++ binding at this time, given some of the
: issues raised in my writeup above. Nor do I think vendors should be
: gratuitously diverging, even lacking a formal standards framework.
Unfortunately, competition begets for product differentiation, and
vendors must compete. Standardization is the responsibility of
standards bodies, who, I realize, must separate and prioritize their
concerns. Nevertheless ...
: > ... a C++ program (with defined behavior)
: > cannot deal efficiently with some of the simplest asynchrony, e.g., a
: > hardware-detected exception cannot generate a program exception,
: > unless the program explicitly polls for it, thus, requiring
: > unacceptable overhead both in running time and programming effort.
:
: Some of us don't think that it's necessarily a good thing to complicate
: C++ exception processing further -- it's a synchronous mechanism now.
: I'd hope that the current mechanism for asynchrony (signals) would just
: be fixed to address your issues!
Fixing the stantard so that signal handlers can read global data (with
appropriate qualifications on the significance of the result) would be
a significant help. The complexity here is only in the wording of the
standard.
The second major need is to allow a signal to force an exception in
without the program polling for it. Complexity is never "necessarily
a good thing," unless the benefits outweigh the costs. The benefits
would be
* lower latency exception responses to signals
* elimination of the CPU overhead of polling
* much simpler programming for such situation.
The cost would be in the increased complexity of the implementation
and CPU overhead caused by the implementation. In a thread on this
topic a couple months ago, David Chase gave an implementation strategy
based on range tables that seemed to involve no CPU overhead and whose
complexity seemed reasonable.
Tom Payne (thp@cs.ucr.edu)
---
[ comp.std.c++ is moderated. To submit articles: Try just posting with your
newsreader. If that fails, use mailto:std-c++@ncar.ucar.edu
comp.std.c++ FAQ: http://reality.sgi.com/austern/std-c++/faq.html
Moderation policy: http://reality.sgi.com/austern/std-c++/policy.html
Comments? mailto:std-c++-request@ncar.ucar.edu
]
Technical Details
Message-ID:
<4l8pud$3t8@galaxy.ucr.edu>Path:
arc1-ca.pugleaf.net!fido.asd.sgi.com!austernReferences:
<4kmjvj$89t@usc.edu> <4kspmb$9tb@ubszh.fh.zh.ubs.com> <3173E95E.5AC@ix.netcom.com> <4l12rf$q11@galaxy.ucr.edu> <31753C02.58A6@ix.netcom.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!fido.asd.sgi.com!austern From: thp@cs.ucr.edu (Tom Payne) Newsgroups: comp.programming.threads,comp.std.c++ Subject: Re: Is STL MT-Safe? Followup-To: comp.programming.threads,comp.std.c++ Date: 19 Apr 1996 15:31:11 PDT Organization: University of California, Riverside Approved: austern@isolde.mti.sgi.com Message-ID: <4l8pud$3t8@galaxy.ucr.edu> References: <4kmjvj$89t@usc.edu> <4kspmb$9tb@ubszh.fh.zh.ubs.com> <3173E95E.5AC@ix.netcom.com> <4l12rf$q11@galaxy.ucr.edu> <31753C02.58A6@ix.netcom.com> NNTP-Posting-Host: isolde.mti.sgi.com X-Original-Date: 19 Apr 1996 19:35:41 GMT X-Newsreader: TIN [UNIX 1.3 950824BETA PL0] X-Auth: PGPMoose V1.1 PGP comp.std.c++ iQBVAwUBMXgUMEy4NqrwXLNJAQGtUgH/aFbnAXVNwo2SgCltJlzxcItQjp4w48Wn RgCGsvoJdHrgbvs7UNuEczbmtZ3I4Ntc1PvTpc7VAFxqS1coazkh9w== =z2Kf Originator: austern@isolde.mti.sgi.com