summaryrefslogtreecommitdiffstats
path: root/src/server/rpc.c
diff options
context:
space:
mode:
authorSimon Rettberg2017-10-30 14:02:02 +0100
committerSimon Rettberg2017-10-30 14:02:02 +0100
commit46f23b08e9e638bc7e1c861f120f9b904b11b343 (patch)
treefeeac79efbba2d5211d469c83374fbc867e0122e /src/server/rpc.c
parent[*] Introduce constants for IPv4/6 in dnbd3_host_t (diff)
downloaddnbd3-46f23b08e9e638bc7e1c861f120f9b904b11b343.tar.gz
dnbd3-46f23b08e9e638bc7e1c861f120f9b904b11b343.tar.xz
dnbd3-46f23b08e9e638bc7e1c861f120f9b904b11b343.zip
[SERVER] Don't send error 500 to client on local connection timeout
Diffstat (limited to 'src/server/rpc.c')
-rw-r--r--src/server/rpc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/rpc.c b/src/server/rpc.c
index 255d893..fd804e9 100644
--- a/src/server/rpc.c
+++ b/src/server/rpc.c
@@ -80,7 +80,9 @@ void rpc_sendStatsJson(int sock, dnbd3_host_t* host, const void* data, const int
if ( ret == 0 ) return;
if ( ret == -1 ) {
if ( errno == EINTR ) continue;
- sendReply( sock, "500 Internal Server Error", "text/plain", "Server made a boo-boo", -1, HTTP_CLOSE );
+ if ( errno != EAGAIN && errno != EWOULDBLOCK ) {
+ sendReply( sock, "500 Internal Server Error", "text/plain", "Server made a boo-boo", -1, HTTP_CLOSE );
+ }
return; // Unknown error
}
hoff += ret;