comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: tasking with GNAT 3.14p on windows
Date: Tue, 01 Apr 2003 10:42:32 +0200
Date: 2003-04-01T10:42:32+02:00	[thread overview]
Message-ID: <67ji8vc635q6auji66pn5ugpu0q1od4lkr@4ax.com> (raw)
In-Reply-To: wcck7ef9bzv.fsf@shell01.TheWorld.com

On 31 Mar 2003 21:40:04 -0500, Robert A Duff
<bobduff@shell01.TheWorld.com> wrote:

>"Chad R. Meiners" <crmeiners@hotmail.com> writes:
>
>> "Jano" <nono@celes.unizar.es> 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?

The single solution I know is to close the socket from another task.
This causes the pending operation to complete with an error so that
the reader task might then accept a rendezous. But this is of course
not an asynchronous control transfer.

If sockets some time will be included into the standard library, then
RM should require that all blocking socket operations be abortable and
in a bounded time.

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



  parent reply	other threads:[~2003-04-01  8:42 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-30 18:49 tasking with GNAT 3.14p on windows Bernd Specht
2003-03-30 20:19 ` James S. Rogers
2003-03-30 22:14   ` Jano
2003-03-31  2:53     ` James S. Rogers
2003-03-31  6:32       ` James S. Rogers
2003-03-31  6:56       ` Sergey Koshcheyev
2003-03-31  9:00         ` 
2003-03-31 19:09       ` Bernd Specht
2003-03-31 18:14     ` Chad R. Meiners
2003-03-31 21:08       ` Jano
2003-03-31  7:57 ` 
2003-03-31  9:30   ` Ole-Hjalmar Kristensen
2003-03-31 17:58     ` Jano
2003-03-31 18:30       ` Chad R. Meiners
2003-03-31 22:16         ` Jano
2003-03-31 23:09           ` Chad R. Meiners
2003-03-31 23:44           ` Chad R. Meiners
2003-04-01 12:17             ` Jano
2003-04-01  2:40         ` Robert A Duff
2003-04-01  4:17           ` Chad R. Meiners
2003-04-01  6:25             ` Jano
2003-04-01 15:33               ` Pascal Obry
2003-04-01  8:42           ` Dmitry A. Kazakov [this message]
2003-04-02 13:35             ` Alfred Hilscher
replies disabled

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