From: Xavier Leroy <leroy@welcome.disi.unige.it>
To: Friedman Roy <roy@cs.technion.ac.il>, caml-list@inria.fr
Subject: Re: socket in the windows port
Date: Fri, 11 Sep 1998 18:41:05 +0200 [thread overview]
Message-ID: <19980911184105.B10140@welcome.disi.unige.it> (raw)
In-Reply-To: <Pine.GSO.3.95-heb-2.07.980911002002.20311A-100000@csa>; from Friedman Roy on Fri, Sep 11, 1998 at 12:23:29AM +0200
> In looking at the code of socket.c for windows, I noticed the following
> code:
> /* Set sockets to synchronous mode */
> optionValue = SO_SYNCHRONOUS_NONALERT;
> setsockopt(INVALID_SOCKET, SOL_SOCKET, SO_OPENTYPE,
> (char *)&optionValue, sizeof(optionValue));
> Is there a reason it is there?
I'm not in front of my Windows development machine, so this is all
from memory.
My recollection is that setting the sockets to synchronous mode is
necessary if one wants to read and write from sockets using the
generic ReadFile and WriteFile system calls. This is what the libunix
does, since it does not distinguish file handles and socket handles
(As per the Unix programming model).
> One negative aspect of this is that when
> one tries to set a socket to a non blocking mode and then connect to it,
> then NT returns a WSAEINVALID error code, meaning that the operation is
> not allowed on that socket.
I don't remember how "non-blocking mode" works under Windows. At any
rate, couldn't you just use blocking I/O operations in several threads
instead?
Regards,
- Xavier Leroy
prev parent reply other threads:[~1998-09-11 17:34 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-09-10 22:23 Friedman Roy
1998-09-11 16:41 ` Xavier Leroy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19980911184105.B10140@welcome.disi.unige.it \
--to=leroy@welcome.disi.unige.it \
--cc=caml-list@inria.fr \
--cc=roy@cs.technion.ac.il \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox