comp.lang.ada
 help / color / mirror / Atom feed
From: tmoran@acm.org
Subject: Re: [OT] Two sockets questions
Date: Sat, 10 May 2003 18:01:59 GMT
Date: 2003-05-10T18:01:59+00:00	[thread overview]
Message-ID: <q8bva.803298$F1.101028@sccrnsc04> (raw)
In-Reply-To: 5d6fdb61.0305100606.1a36d426@posting.google.com

>in the Gnat list the article where Microsoft explains that Windows
>will return EWOULDBLOCK in an asynchronous connect. The connect is in
>effect being performed and Gnat is simply reporting the underlying
>Windows error.
  The Open code in the Claw-less sockets that will soon(?) appear on
www.adapower.com contains:

    if Connect(Socket.Handle, Sockaddr'unchecked_access) = Socket_Error then
      Error := WSAGetLastError;
      if Error = WSAE_Wouldblock then
        loop
          FD.Count := 1;
          FD.Set(FD.Set'first) := Socket.Handle;
          Result
            := Select_function(0,
                               Read_FD_Set       => Null_FD_Set'unchecked_access,
                               Write_FD_Set      => FD'unchecked_access,
                               Exceptions_FD_Set => Null_FD_Set'unchecked_access,
                               Timeout           => Zerowait'unchecked_access);
          exit when Result = 1;
          if Result = Socket_Error then
          ...
It's intended for blocking sockets, so it sits around and polls till the
select says its writable, or some other error is returned.  It actually
opens as non-blocking so it can get control back from the OS to do this
polling, and timeout checking, etc.



  reply	other threads:[~2003-05-10 18:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-07 18:03 [OT] Two sockets questions Jano
2003-05-07 18:22 ` Samuel Tardieu
2003-05-07 19:52   ` Stephen Leake
2003-05-07 20:08     ` David C. Hoos
2003-05-07 22:33     ` Jano
2003-05-08  9:10       ` Samuel Tardieu
2003-05-08 21:35         ` Jano
2003-05-09  8:14           ` Samuel Tardieu
2003-05-09 14:32             ` Jano
2003-05-10 14:06         ` Jano
2003-05-10 18:01           ` tmoran [this message]
2003-05-10 21:27             ` Samuel Tardieu
2003-05-11 18:01               ` tmoran
2003-05-08 17:48       ` Stephen Leake
2003-05-08 18:42         ` Samuel Tardieu
2003-05-08 21:41           ` Jano
2003-05-08 21:48           ` Jano
2003-05-08 22:35             ` tmoran
2003-05-09 14:42               ` Jano
2003-05-10  8:57                 ` Tarjei T. Jensen
2003-05-10 16:55                   ` Simon Wright
2003-05-11 18:23                   ` Tarjei T. Jensen
2003-05-11  2:05                 ` tmoran
2003-05-08 21:40         ` Jano
2003-05-07 20:02   ` Jano
2003-05-08  8:57     ` Samuel Tardieu
2003-05-08 21:39       ` Jano
2003-05-08 10:14   ` Preben Randhol
2003-05-08 11:09     ` Samuel Tardieu
2003-05-08 21:40       ` Jano
2003-05-09  8:19         ` Samuel Tardieu
2003-05-08 18:06     ` tmoran
2003-05-07 20:09 ` tmoran
replies disabled

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