New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

net: add support for FileConn, FilePacketConn, FileListener on windows #9503

Open
mattn opened this Issue Jan 5, 2015 · 1 comment

Comments

Projects
None yet
5 participants
@mattn
Member

mattn commented Jan 5, 2015

Issue for discussion.

FileListener is useful to implement graceful-restart server. ex: https://github.com/lestrrat/go-server-starter

I know windows doesn't have a way to pass FDs to external process like UNIX OSs.
But it's not impossible. WSADuplicateSocket can export intormation of file descriptor as WSAPROTOCOL_INFO to specified process. This structure is possible to be written to a file as byte array.

http://msdn.microsoft.com/ja-jp/library/windows/desktop/ms741565(v=vs.85).aspx

How about implementation of os.File.dup, os.FileListener on windows?

https://codereview.appspot.com/177590043/

@minux minux changed the title from FileListener on windows to net: FileListener on windows Jan 5, 2015

@mikioh mikioh changed the title from net: FileListener on windows to net: add support for FileConn, FilePacketConn, FileListener on windows Jan 5, 2015

@mikioh mikioh added the os-windows label Jan 5, 2015

@mikioh mikioh added the help wanted label Jan 17, 2015

@rsc rsc removed the os-windows label Apr 10, 2015

@rsc rsc added this to the Unplanned milestone Apr 10, 2015

@rsc rsc added the OS-Windows label Apr 15, 2015

@gopherbot

This comment has been minimized.

gopherbot commented Apr 25, 2015

CL https://golang.org/cl/8683 mentions this issue.

mattn added a commit to mattn/go that referenced this issue Apr 24, 2018

net, syscall, internal/syscall/windows: implement FileConn, FilePacke…
…tConn, FileListener

DO NOT REVIEW

Fixes golang#9503.
Fixes golang#10350.

Change-Id: If0851cb3340281cc1ea523cd0ddf48fc7f87c775
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment