]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
fixing error when file size is multiple of job size (in which case, the srcSize of...
authorPaul Cruz <paulcruz74@fb.com>
Wed, 19 Jul 2017 21:54:15 +0000 (14:54 -0700)
committerPaul Cruz <paulcruz74@fb.com>
Wed, 19 Jul 2017 21:54:15 +0000 (14:54 -0700)
contrib/adaptive-compression/adapt.c

index d572ee191f1da3640e24ce6e1607042a70a804e4..dcaf3aeffa0e2be3887710a837f6a5b9bf54d05f 100644 (file)
@@ -450,7 +450,7 @@ static void* compressionThread(void* arg)
             /* reset compressed size */
             job->compressedSize = 0;
 
-            while (remaining != 0) {
+            do {
                 size_t const actualBlockSize = MIN(remaining, compressionBlockSize);
                 DEBUG(2, "remaining: %zu\n", remaining);
                 DEBUG(2, "actualBlockSize: %zu\n", actualBlockSize);
@@ -505,7 +505,7 @@ static void* compressionThread(void* arg)
                     }
                     pthread_mutex_unlock(&ctx->completion_mutex.pMutex);
                 }
-            }
+            } while (remaining != 0);
             job->dst.size = job->compressedSize;
         }
         pthread_mutex_lock(&ctx->jobCompressed_mutex.pMutex);