public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: TCP_CORK (aka TCP_NOPUSH) does not work
Date: Wed, 31 Jul 2019 19:32:00 -0000	[thread overview]
Message-ID: <e4a7d5aa-d774-3b60-5c1c-9265a1e98554@SystematicSw.ab.ca> (raw)
In-Reply-To: <BL0PR0901MB43082AA9A6D57C92F4D314E6A5DF0@BL0PR0901MB4308.namprd09.prod.outlook.com>

On 2019-07-30 22:48, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin wrote:
>> Regular SO options on Windows:
> 
> I did not ask about Windows options.  I asked about a feature that is
> defined in Cygwin yet appears not functional.

You are running Windows sockets under Cygwin emulation.
Linux and BSD options are not available, whatever the .h #defines.

>> You can abuse Nagle to get similar behaviour cross-platform:
> This is not the same thing!

This is your only option.

>> ENOPROTOOPT (109)... "The option is not supported by the protocol."
> 
> Indeed the textual description does not match, and should be changed in Cygwin.  Although, I'm sure it was copied over from Linux, which does not define it properly (probably, historically), either:
> 
> #define ENOPROTOOPT     92      /* Protocol not available */
> 
> BTW, Windows does that correctly:
> 
> WSAENOPROTOOPT (10042) = "Bad protocol option"

>> If a socket option is defined, perhaps for compatibility, it should either be
>> used or ignored, rather than giving an error.
>> If you are not going to support a socket option, and generate an error, it would
>> be better to not define the option and generate the error at compile time,
>> instead of failing at run time.
> Who are you suggesting this to?

Anyone who wants to volunteer to remove non-functional socket options: that's
how Cygwin works.
Input from folks who use and maintain this stuff would be good, before any of us
jump in and delete stuff.
Many header and library files are shared with newlib, which is used by Cygwin,
RTEMS, other embedded non-Linux OSes, many common boards using ARM, Renesas, and
Xilinx chips, most commercial and non-commercial GCC ports and distributions for
non-Linux embedded systems, so conditionalization is often required, unless
newlib provides its own separate version(s) of a header or library file.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2019-07-31 19:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31  4:49 Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin
2019-07-31 19:32 ` Brian Inglis [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-07-31 23:16 Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin
2019-07-31 21:00 Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin
2019-07-31 22:11 ` Ken Brown
2019-07-30 21:30 Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin
2019-07-31  3:50 ` Brian Inglis

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=e4a7d5aa-d774-3b60-5c1c-9265a1e98554@SystematicSw.ab.ca \
    --to=brian.inglis@systematicsw.ab.ca \
    --cc=cygwin@cygwin.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).