From: Poul-Erik Andreasen <poulerik@pea.dk>
Subject: Re: Advice on abort
Date: Wed, 09 Nov 2005 15:12:18 +0100
Date: 2005-11-09T15:12:18+01:00 [thread overview]
Message-ID: <437203c7$0$158$edfadb0f@dread11.news.tele.dk> (raw)
In-Reply-To: <u0m8x4ae976b$.1i2o5z7fcbhoh$.dlg@40tude.net>
Dmitry A. Kazakov wrote:
> On Tue, 08 Nov 2005 17:59:41 +0100, Poul-Erik Andreasen wrote:
>
>
>>Dmitry A. Kazakov wrote:
>
>
>>>It all depends on the particular implementation of the socket library and
>>>how Ada tasks are mapped to system threads and processes. All sorts of
>>>resource leaks are thinkable. For example, you might be unable to listen
>>>that TCP/IP port until process restart or it won't abort etc.
>>
>>The time of the abortion are at the end of the first part of the
>>ACT so a cant se how the following could make any problems.
>
>
> Just consider a possible implementation of abort. You have a pending
> operation on some hardware. Let a driver lock TCB and relevant memory pages
> until I/O completion. What an Ada RTL might undertake against that, if
> there is no way to cancel it, or more probably, it just does not know about
> any I/O of this kind?
>
> Consider Ada RTL scheduling Ada tasks within one system thread. In this
> case any alien I/O will block everything including whole Ada RTL.
Maybee i am a litle dump, but will these to implementation make the same
broblems whether you are inside or outside ACT
> Consider ACT implementation which simply stops busy polling for I/O status
> and leaves things as they are. That is: I/O continues and your task goes
> further. Any consequent operation will block. Any re-opening of the same
> communication channel will fail.
The ACT-feature i made deliberately for dealing with posibbly blocking
situations, and to avoiding a language-feature, on the basis of
potentiel bad implementation, is to mee a wierd way of thinking.
> --------
> The best solution is to use some semi-standard library. Unfortunately Ada
> does not have sockets. But if we are talking about GNAT then obviously to
> use GNAT.Sockets is the first candidate to consider, because ACT (no pun
> intended (:-)) will hopefully take care of its reasonable implementation of
> all platforms they support.
>
Quite agree
PEA
next prev parent reply other threads:[~2005-11-09 14:12 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-04 15:25 Advice on abort REH
2005-11-04 17:15 ` Marc A. Criley
2005-11-04 18:21 ` Dmitry A. Kazakov
2005-11-04 18:35 ` REH
2005-11-05 18:33 ` Simon Wright
2005-11-05 21:23 ` REH
2005-11-06 11:17 ` Simon Wright
2005-11-06 13:58 ` REH
2005-11-06 20:08 ` Simon Wright
2005-11-06 20:41 ` REH
2005-11-07 14:55 ` Poul-Erik Andreasen
2005-11-07 17:09 ` REH
2005-11-07 18:03 ` Dmitry A. Kazakov
2005-11-08 14:54 ` Poul-Erik Andreasen
2005-11-08 16:14 ` Dmitry A. Kazakov
2005-11-08 16:42 ` Marc A. Criley
2005-11-08 16:59 ` Poul-Erik Andreasen
2005-11-08 20:05 ` Dmitry A. Kazakov
2005-11-09 14:12 ` Poul-Erik Andreasen [this message]
2005-11-09 17:14 ` Dmitry A. Kazakov
2005-11-08 16:32 ` Marc A. Criley
2005-11-08 14:35 ` Poul-Erik Andreasen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox