From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,be3d89c2ad66a506 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.icl.net!newsfeed.fjserv.net!news.tele.dk!news.tele.dk!small.news.tele.dk!not-for-mail Date: Wed, 09 Nov 2005 15:12:18 +0100 From: Poul-Erik Andreasen User-Agent: Debian Thunderbird 1.0.2 (X11/20050817) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Advice on abort References: <1131117934.372137.244900@g44g2000cwa.googlegroups.com> <436f6ad8$0$196$edfadb0f@dread11.news.tele.dk> <1131383393.903975.180350@g47g2000cwa.googlegroups.com> <1rb5pcog6iau7$.180ltiuk2q6cv.dlg@40tude.net> <4370bc36$0$180$edfadb0f@dread11.news.tele.dk> <1ozi307fng5fi$.1ms3kyzc7defi$.dlg@40tude.net> <4370d97d$0$141$edfadb0f@dread11.news.tele.dk> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <437203c7$0$158$edfadb0f@dread11.news.tele.dk> Organization: TDC Totalloesninger NNTP-Posting-Host: 80.166.145.174 X-Trace: 1131545543 dread11.news.tele.dk 158 80.166.145.174:45415 X-Complaints-To: abuse@post.tele.dk Xref: g2news1.google.com comp.lang.ada:6325 Date: 2005-11-09T15:12:18+01:00 List-Id: 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