🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c++
Article #3102

Re: Throwing an exception from within a si

#3102
From: Dick Menninger
Date: Wed, 24 Jan 1996 19:36
64 lines
3698 bytes
> ==========Steve Clamage, 1/22/96==========
 
> In article 8k8@galaxy.ucr.edu, thp@cs.ucr.edu (Tom Payne) writes:
> >Steve Clamage (clamage@Eng.Sun.COM) wrote:
 
> >: What we put in the language standard is binding on all
> implementations. We
> >: try to specify things that can be implemented efficiently on
> any likely
> >: system. In addition, we try to specify features so that they
> have no cost
> >: (or nearly no cost) if you don't use them. IMHO, guarantees
> about what you

> >Agreed!!

> >: can do in an asynchronous signal handler don't meet those
criteria for
> >: inclusion in the C++ standard.

> >That's a rather broad conclusion, given the discussion so far.

> I don't agree. If you have control over the entire environment, you can
> make more guarantees about behavior. For example, Ada implementations
> have extensive requirements on what they must support. If a platform
> cannot reasonably meet those requirements, you aren't going to find an
> Ada implementation which is both conforming and useful.
 
> C++, on the other hand, is intended to be dropped into (nearly)
> any existing
> platform and coexist with other languages on that platform.
The language
> definition attempts to stay away from areas where common platforms have
> widely differing behavior for that reason. Asynchronous signal handling
> certainly varies widely among platforms.
> 
> It's easy to wave your hands and say that the implementation ought to
> be relatively easy to do and not overly expensive. But what if the ABI
> on a common platform makes that infeasible? If a language feature
> limits the number of platforms which allow implementation, it should be
> important to a wide range of programmers and programs.

It is important for asynchronous threads that may interrupt other
threads (signal handlers, interrupt handlers, ...) to be able to use
the same exception semantics that any thread would use.  Else
you must define two sets of C++ behavior and STL, new, etc., must
all work in both.  You made exceptions part of the language, but
they still seem to be second class citizens.  Until they are made
first class citizens, you will continue to have a lot of arguing about
inherent problems of them being second class.

This is just one case where trying to limit the standard to ALL
potential environments seems to be hurting the thinking and
the language.  I suspect that essentially all environments can
actually do something sensible.  If a few cannot, they should
be exceptional, in that area, to the standard.

Good Day
Dick
Dick.Menninger@DaytonOH.ATTGIS.COM
---
[ 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: <DLp9Ez.796@falcon.daytonoh.attgis.com>
Path: arc1-ca.pugleaf.net!fido.asd.sgi.com!austern
References: <4e0moi$4dp@engnews1.Eng.Sun.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!fido.asd.sgi.com!austern
From: Dick Menninger <Dick.Menninger@daytonoh.attgis.com>
Newsgroups: comp.std.c++
Subject: Re: Throwing an exception from within a si
Date: 24 Jan 1996 11:36:13 PST
Organization: AT&T Global Information Solutions
Approved: austern@isolde.mti.sgi.com
Message-ID: <DLp9Ez.796@falcon.daytonoh.attgis.com>
References: <4e0moi$4dp@engnews1.Eng.Sun.COM>
Reply-To: mennid <Dick.Menninger@daytonoh.attgis.com>
NNTP-Posting-Host: isolde.mti.sgi.com
X-Original-Date: Wed, 24 Jan 1996 19:13:47 GMT
X-Newsreader: DiscussIT 2.5.1.3 for MS Windows [AT&T Software Products Division]
X-Auth: PGPMoose V1.1 PGP comp.std.c++
 iQBVAwUBMQaKP0y4NqrwXLNJAQEwLgH/Zek/QbNk2aVB3uPwbpAdpXbGvz/Gvqrn
 s5OHj3SE2dNfLiRcixufR+o/Hn5AP+zdI9X1jvVgOb5GGa0pwFj8Qw==
 =S/QG
Originator: austern@isolde.mti.sgi.com