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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8ddc02527645a844 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-03-31 18:40:05 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.uchicago.edu!newsfeed.cs.wisc.edu!newsfeed.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: tasking with GNAT 3.14p on windows Date: 31 Mar 2003 21:40:04 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <3e87f4e2$1@epflnews.epfl.ch> <7vu1djubmk.fsf@vlinux.voxelvision.no> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1049164805 9688 199.172.62.241 (1 Apr 2003 02:40:05 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Tue, 1 Apr 2003 02:40:05 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.ada:35842 Date: 2003-03-31T21:40:04-05:00 List-Id: "Chad R. Meiners" writes: > "Jano" wrote in message > news:MPG.18f2a01651aa20aa9896cb@News.CIS.DFN.DE... > > trying to know the behavior with blocking I/O. In XP with -gnatP, you > > get indefinite wait for user input, but if more than 10 seconds has > > passed when you hit enter, you get also the "aborted" print. > > > > Is that expected behavior? Gnat docs say that polling implements calls > > in each loop iteration / function call. Should I assume that if you > > haven't loops / calls, abort will never work properly? > > It seems like reasonable behavior. System calls are not guaranteed to be > abortable. The Ada RM has nothing to say about system calls, so of course they are not guaranteed (by the RM) to be abortable. But I'm very interested in what GNAT does with system calls in the presence of abort. Can you tell us what happens if, say, a socket read is aborted? And if it's not abortable, how does one work around that fact? Or suppose one task does a socket read, and another task gets aborted. How well does that work? On windows, I mean. Assume polling is turned on. - Bob