From 5765ce49f5e1e26505fd6b162db73a732603d1a8 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 5 Sep 2019 16:52:31 +0200 Subject: [SERVER] integrity checker: Improve flushing logic --- src/server/uplink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/uplink.c') 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; -- cgit v1.2.3-55-g7522