summaryrefslogtreecommitdiffstats
path: root/src/server/uplink.c
diff options
context:
space:
mode:
authorSimon Rettberg2019-09-05 16:52:31 +0200
committerSimon Rettberg2019-09-05 16:52:31 +0200
commit5765ce49f5e1e26505fd6b162db73a732603d1a8 (patch)
treeb95ec005d24b4fead79f86b54a7dc8735c589626 /src/server/uplink.c
parent[SERVER] Update sample config (diff)
downloaddnbd3-5765ce49f5e1e26505fd6b162db73a732603d1a8.tar.gz
dnbd3-5765ce49f5e1e26505fd6b162db73a732603d1a8.tar.xz
dnbd3-5765ce49f5e1e26505fd6b162db73a732603d1a8.zip
[SERVER] integrity checker: Improve flushing logic
Diffstat (limited to 'src/server/uplink.c')
-rw-r--r--src/server/uplink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/uplink.c b/src/server/uplink.c
index 8a0b06b..dab5c27 100644
--- a/src/server/uplink.c
+++ b/src/server/uplink.c
@@ -876,7 +876,7 @@ static void uplink_handleReceive(dnbd3_uplink_t *uplink)
ret = (int)pwrite( uplink->cacheFd, uplink->recvBuffer + done, inReply.size - done, start + done );
if ( unlikely( ret == -1 ) ) {
err = errno;
- if ( err == EINTR ) continue;
+ if ( err == EINTR && !_shutdown ) continue;
if ( err == ENOSPC || err == EDQUOT ) {
// try to free 256MiB
if ( !tryAgain || !image_ensureDiskSpaceLocked( 256ull * 1024 * 1024, true ) ) break;