[Tarantool-patches] [PATCH] Work-around WSL assert when SO_LINGER is set on unix sockets
Timur Safin
tsafin at tarantool.org
Thu Mar 12 11:39:41 MSK 2020
: -----Original Message-----
: From: Vladislav Shpilevoy <v.shpilevoy at tarantool.org>
: Subject: Re: [PATCH] Work-around WSL assert when SO_LINGER is set on unix
: sockets
:
: >
: > Here I need a help, because evidence is not apparent. The last commit to
: > evio.c was not marked with subsystem
: >
: > tsafin at 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'.
:
Ok, will use it for the next incarnation of reworked patch.
:
: 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
:
Ok, will use such naming schema
: > 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.
Yup, dropped this patch already, and will pass down to sources something
like WSL1_WORKAROUND defined. It should work in the nearest time-frame.
WSL2 will go out of Insider Rings this April/May, so this workaround
should be very short-living. WSL2 is using full Linux kernel (patched by
Azure guys) so it will have the same tcp socket implementation, and
work-around will be disabled then.
Take care,
Timur
More information about the Tarantool-patches
mailing list