Skip to content
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

Glue Native Sync listener hangs on Linux #1

Open
itadapter opened this issue Dec 14, 2017 · 2 comments
Open

Glue Native Sync listener hangs on Linux #1

itadapter opened this issue Dec 14, 2017 · 2 comments
Assignees
Labels
Milestone

Comments

@itadapter
Copy link
Contributor

Suspect that tcpServer.Accept is not broken by socket.close() on *nix platforms
need to investigate

@itadapter itadapter added the bug label Dec 14, 2017
@itadapter itadapter self-assigned this Dec 14, 2017
@itadapter itadapter added this to the Stabilization milestone Dec 14, 2017
@saleyn
Copy link
Contributor

saleyn commented Jan 11, 2018

I don't think this problem is .NET specific. On Linux the way to interrupt a blocking accept(3) without killing the thread that executes it is to send a signal to a process, in which case the accept() call would return EINTR (or whatever is the .NET equivalent code/exception). This is pretty ugly though. It would be much better to use the non-blocking socket to call accept() and use a reactive demultiplexer to poll for client connections.

@agnibos
Copy link
Contributor

agnibos commented Jan 11, 2018

I have not researched where the freeze is as of yet. I suspect it is in the listener.accept with 90%+ confidence.
But you are correct, about async listener, however keep in mind that this needs to be very simple solution, and secondarily, Glue does not need to handle very many accepts/sec so even the MPX binding is half synchronous which SIGNIFICANTLY simplifies it (no need to handle async accept etc..)

I am planning to get to this after Stabilization milestone

@agnibos agnibos self-assigned this Jan 11, 2018
@agnibos agnibos modified the milestones: Stabilization, Mar 1 Jan 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants