about summary refs log tree commit diff
path: root/src/libutil/compression.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/compression.cc')
-rw-r--r--src/libutil/compression.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libutil/compression.cc b/src/libutil/compression.cc
index aad6e9b5bc1e..a36c4405f8bb 100644
--- a/src/libutil/compression.cc
+++ b/src/libutil/compression.cc
@@ -193,9 +193,14 @@ struct XzSink : CompressionSink
     {
         lzma_mt mt_options = {};
         mt_options.flags = 0;
-        mt_options.timeout = 300;
+        mt_options.timeout = 300; // Using the same setting as the xz cmd line
         mt_options.check = LZMA_CHECK_CRC64;
         mt_options.threads = lzma_cputhreads();
+        mt_options.block_size = 0;
+        if (mt_options.threads == 0)
+            mt_options.threads = 1;
+        // FIXME: maybe use lzma_stream_encoder_mt_memusage() to control the
+        // number of threads.
         lzma_ret ret = lzma_stream_encoder_mt(
             &strm, &mt_options);
         if (ret != LZMA_OK)