8000 Possible to hang the server with corner-case client misbehavior · Issue #142 · vrpn/vrpn · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Possible to hang the server with corner-case client misbehavior #142

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

Open
russell-taylor opened this issue Apr 20, 2016 · 1 comment
Open

Comments

@russell-taylor
Copy link
Contributor

This describes a likely cause for server hangs in some corner cases of race conditions.

It is possible for a client to initiate one or more client-side connections and then not call mainloop() on them. In some cases, this can result in the UDP packet asking the server to connect to a TCP port but then no servicing of the connection request. This can cause the server to hang, presumably waiting on the TCP connection request.

Even when the client calls mainloop() on one of the connections, the one that is not being mainloop()ed can keep hanging all of them.

@russell-taylor
Copy link
Contributor Author

Either a timeout or a separate thread that signals timeout could be used to interrupt the hang, letting it retry again in a later loop. Or a separate thread could be spawned to establish the connection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant
0