-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
RequestBuilder::send() can result in SIGPIPE #720
Comments
Do you have any more specific info, such as OS, if using child processes, or calling in to Rust from another language, or anything? Rust specifically turns off So I'd think that if something is occurring that skips that, it should probably be fixed in Rust itself. |
$ uname -a Using glibc 2.21 rustc version 1.3.0 Single process, run in gdb. No other languages in the program (communicates over network with programs in other languages, but no other languages embedded in the program itself). |
Hm, some superficial Googling suggests that even with |
Bizarre. Hopefully that'll "fix" the "problem." |
I'm going to say that and |
In a long-running process using hyper 0.6.14, inevitably after some hours of operation a SIGPIPE is received during hyper::net::HttpStream.Write::write calling net::tcp::TcpStream.Write::write calling send() from libc.
I'm under the impression this is an example of this sort of behavior, which could be fixed by catching the SIGPIPE.
Assuming I have the right idea, I would suggest either making sure not to send to closed sockets (which may not be easily possible), handling such SIGPIPEs in hyper, or adding documentation suggesting developers handle any SIGPIPEs which may come up while sending HTTP requests through hyper.
The text was updated successfully, but these errors were encountered: