comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A.Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: stupid question: how can I finish a program?
Date: Sat, 31 Aug 2002 04:40:12 +0200
Date: 2002-08-31T04:40:12+02:00	[thread overview]
Message-ID: <aknvne$1kn818$1@ID-77047.news.dfncis.de> (raw)
In-Reply-To: akl6um$3ua$1@nh.pace.co.uk

Marin D. Condic wrote:

> Yes, I understand that there are potential issues as to what exactly
> happens from one OS to another and I understand that there are dangers in
> its use because its behavior can't necessarily deal with everything
> cleanly or do what you would want it to do under the circumstances. But
> note that a) Windows does provide an OS call to abort the process

They (MS) wrote the following about it:

"The TerminateProcess function is used to unconditionally cause a process 
to exit. Use it only in extreme circumstances. The state of global data 
maintained by dynamic-link libraries (DLLs) may be compromised if 
TerminateProcess is used rather than ExitProcess."
        -- MSDN library

> and b) I said the following:

>> > Would the formal definition need to be any more complicated than:
>> > "Implementation Defined - but we suggest that you make it do what any
>> > sane person using the target OS would reasonably expect..."? It
>> > doesn't seem

> (In other words, you could have it make monkeys fly out of your nose, but
> a sane person would expect it to call the OS provided "abort" procedure
> and do whatever that does.)

I have only one objection - this cannot be called "portable". There is also 
a problem, where do you want to stop? Portable sockets? Pipes? Mailboxes? 
FTP? 2D-graphics? 3D? SQL? ...

Not that I am against all that (:-)), but it will be very hard to do.

> Just because there is no absolutely safe or absolutely portable or
> absolutely consistent way of doing something in Ada, doesn't mean it
> shouldn't be done. A complaint that a lot of C programmers have about Ada
> is that it keeps stoping them from doing what they want to do. Sometimes
> that is a good thing, but sometimes its just plain stubbornness on the
> part of Ada insisting that because an answer isn't "perfect" that it won't
> provide one that is "good enough". Providing a portable interface to what
> ANSI C calls "abort();" (and similar...) doesn't sound like something that
> should be avoided just because it might be misused or that the results
> might not be consistent across all platforms.

Well, if so little is required then Annex B is a perfect place for this:

Interfaces.POSIX
Interfaces.VMS
Interfaces.Win32
...

-- 
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



  parent reply	other threads:[~2002-08-31  2:40 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <c923f575.0208130627.479e0b3d@posting.google.com>
2002-08-13 14:37 ` stupid question: how can I finish a program? chris.danx
2002-08-13 23:53   ` Robert C. Leif
2002-08-14  2:07     ` Wes Groleau
2002-08-14  5:53       ` Robert C. Leif
2002-08-14 13:30         ` Wes Groleau
2002-08-14 13:56       ` Marin D. Condic
2002-08-17 15:58         ` Robert Dewar
2002-08-14 19:18       ` Simon Wright
2002-08-15 14:02         ` Wes Groleau
2002-08-15  1:47       ` Robert Dewar
2002-08-15  5:14         ` Michael Bode
2002-08-17 14:28           ` Alfred Hilscher
2002-08-15  5:17         ` tmoran
2002-08-15 18:41           ` Robert Dewar
2002-08-14 13:53     ` Marin D. Condic
2002-08-15 17:39       ` tmoran
2002-08-16 13:46         ` Marin D. Condic
2002-08-17 14:26           ` Warren W. Gay VE3WWG
2002-08-22 19:16           ` tmoran
2002-08-22 20:54             ` Marin D. Condic
2002-08-25  2:22       ` Robert Dewar
2002-08-26 15:59         ` Marin D. Condic
2002-08-27 21:59         ` Robert A Duff
2002-08-28 20:40           ` Dmitry A.Kazakov
2002-08-28 13:59             ` Robert A Duff
2002-08-28 16:55               ` Darren New
2002-08-28 18:36                 ` Larry Kilgallen
2002-08-28 22:22                 ` Robert A Duff
2002-08-28 22:30                   ` Darren New
2002-08-28 23:16                     ` Robert A Duff
2002-08-29 16:49                       ` Warren W. Gay VE3WWG
2002-08-29 18:55                         ` Larry Kilgallen
2002-08-29 19:17                           ` Warren W. Gay VE3WWG
2002-08-30  8:09                         ` Ole-Hjalmar Kristensen
2002-08-31 20:39                           ` Warren W. Gay VE3WWG
2002-08-29 16:35                   ` Dennis Lee Bieber
2002-08-29 22:48               ` Dmitry A.Kazakov
2002-08-29 15:18                 ` Robert A Duff
2002-08-30  4:29                   ` Dmitry A.Kazakov
2002-08-29 16:53                     ` Warren W. Gay VE3WWG
2002-08-29 19:03                     ` Robert C. Leif
2002-08-29 19:25                       ` Warren W. Gay VE3WWG
2002-08-29 20:42                       ` Larry Kilgallen
2002-08-29 20:22                         ` Robert A Duff
2002-08-30 20:59                           ` Simon Wright
2002-08-28 14:33             ` Marin D. Condic
2002-08-28 22:15               ` Larry Kilgallen
2002-08-29 15:30                 ` Robert A Duff
2002-08-29 22:16               ` Dmitry A.Kazakov
2002-08-29 13:17                 ` Marin D. Condic
2002-08-29 19:32                   ` Robert A Duff
2002-08-31  2:40                   ` Dmitry A.Kazakov [this message]
2002-08-31  0:10                     ` Toshitaka Kumano
2002-09-02 21:02                       ` Dmitry A.Kazakov
2002-08-29 16:59                 ` Warren W. Gay VE3WWG
2002-08-29 18:26                   ` Marin D. Condic
2002-08-13 14:38 ` David C. Hoos
2002-08-13 20:08   ` Adam Beneschan
2002-08-14  6:41 ` Emil Moholth
2002-08-14 14:00   ` Marin D. Condic
2002-08-14  7:37 ` Martin Dowie
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox