Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
To: Timur Safin <tsafin@tarantool.org>,
	tarantool-patches@dev.tarantool.org,
	'Kirill Yukhin' <kyukhin@tarantool.org>
Subject: Re: [Tarantool-patches] [PATCH] Work-around WSL assert when SO_LINGER is set on unix sockets
Date: Thu, 12 Mar 2020 00:32:13 +0100	[thread overview]
Message-ID: <b72f3b33-7afe-3f1f-690a-73cf51c9c765@tarantool.org> (raw)
In-Reply-To: <06c001d5f791$df13e800$9d3bb800$@tarantool.org>

Thanks for the answers!

On 11/03/2020 11:43, Timur Safin wrote:
> : -----Original Message-----
> : From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
> : Subject: Re: [PATCH] Work-around WSL assert when SO_LINGER is set on unix
> : sockets
> : 
> 
> 
> : 
> : 1. Please, add a subsystem prefix to the commit title. For
> : examples see other commits in the repository.
> 
> Here I need a help, because evidence is not apparent. The last commit to 
> evio.c was not marked with subsystem 
> 
> 	tsafin@M1BOOK6319:~/tarantool$ git log --oneline src/lib/core/evio.c
> 	835d22aa0 (HEAD -> tsafin/gh-4659-wsl-no-linger-assert, master)
> 		Work-around WSL assert when SO_LINGER is set on unix sockets
> 	3f5f59bb5 Move 'core' and 'uuid' libs to src/lib
> 
> Should it be `core` or `coio`?

I think neither of them. It should be 'evio'.

> : > Branch: https://github.com/tarantool/tarantool/tree/tsafin/gh-4659-wsl-
> : no-linger-assert
> : 
> : 2. Please, provide both branch and issue links.
> : 4. The patch has nothing to do with gh-4659:
> : https://github.com/tarantool/tarantool/issues/4659
> : "sql: raise an error in case space features HASH index".
> 
> This is the question - what is the current practice for such 
> simplistic patches? SOP says there is no need to open issue 
> so I'm marking branch with github issue # of which this 
> patch is byproduct. 

I am not sure I understand what is 'patch byproduct'.

If there is no issue, then you can omit issue link. But it certainly
is not right to take some random other issue number into the branch
name. Just omit the issue number everywhere.

    tsafin/wsl-no-linger-assert

instead of

    tsafin/gh-4659-wsl-no-linger-assert

> : > -	/* Send all buffered messages on socket before take
> : > -	 * control out from close(2) or shutdown(2). */
> : > -	struct linger linger = { 0, 0 };
> : > +	if (family != AF_UNIX) {
> : 
> : 6. Is there any proof that it is no-op on Linux for AF_UNIX?
> :
> 
> Good question! Never had enough time and motivation to proof this assumption.
> Now you've asked I'll look into linux kernel tcp implementation. Stay ktuned.

The question wasn't really about kernel sources. Rather about
documentation or standards, on which you could rely, when assume,
that SO_LINGER works for some socket types, and does not for
others.

I don't think we can omit SO_LINGER in case it is not guaranteed
that it is no-op for unix sockets.

However, we can omit it for WSL specifically, like Cyrill proposed.
Using cmake to add a new macro, and do nothing when macro says we
compile for WSL.

> : I would rather call sio_setsockopt() always. And ignore an
> : error, if it is EINVAL for AF_UNIX.
> 
> Probably it's less damaging approach. I'll probably use it - but first I need to
> Look around in the kernel.

  parent reply	other threads:[~2020-03-11 23:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-10 14:25 Timur Safin
2020-03-11  0:30 ` Vladislav Shpilevoy
2020-03-11 10:43   ` Timur Safin
2020-03-11 10:53     ` Cyrill Gorcunov
2020-03-11 23:32     ` Vladislav Shpilevoy [this message]
2020-03-12  8:39       ` Timur Safin

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=b72f3b33-7afe-3f1f-690a-73cf51c9c765@tarantool.org \
    --to=v.shpilevoy@tarantool.org \
    --cc=kyukhin@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=tsafin@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH] Work-around WSL assert when SO_LINGER is set on unix sockets' \
    /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

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