comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Advice on abort
Date: Sat, 05 Nov 2005 18:33:51 +0000
Date: 2005-11-05T18:33:51+00:00	[thread overview]
Message-ID: <m2fyqb9c6o.fsf@grendel.local> (raw)
In-Reply-To: l1ius2k66aqm.1n607d42c495j.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> Close that socket from another task. That should end the blocking
> I/O on the socket with some error code. And the task will become
> ready accept a rendezvous.

We have recently been bitten by OS-dependent behaviour in this area.

On Windows, the read fails immediately with an
GNAT.Sockets.Socket_Error exception. However, on VxWorks and Linux
(and possibly other OS's), you get a successful read of *zero* bytes
(at any rate, fewer than you requested) and the exception only happens
on the next read.

Of course, getting a short read may end up with an
Ada.IO_Exceptions.End_Error anyway (we had forgotten to check the
length :-( ).



  parent reply	other threads:[~2005-11-05 18:33 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 [this message]
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
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