From: Yann Collet Date: Wed, 26 Apr 2023 19:45:23 +0000 (-0700) Subject: minor : update streaming_compression example X-Git-Tag: v1.5.6^2~160^2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3631%2Fhead;p=thirdparty%2Fzstd.git minor : update streaming_compression example display a warning when requesting multi-threading while linking to a library that doesn't support multi-threading. --- diff --git a/examples/streaming_compression.c b/examples/streaming_compression.c index ed0a3a69c..063aa82a2 100644 --- a/examples/streaming_compression.c +++ b/examples/streaming_compression.c @@ -42,7 +42,13 @@ static void compressFile_orDie(const char* fname, const char* outName, int cLeve */ CHECK_ZSTD( ZSTD_CCtx_setParameter(cctx, ZSTD_c_compressionLevel, cLevel) ); CHECK_ZSTD( ZSTD_CCtx_setParameter(cctx, ZSTD_c_checksumFlag, 1) ); - ZSTD_CCtx_setParameter(cctx, ZSTD_c_nbWorkers, nbThreads); + if (nbThreads > 1) { + size_t const r = ZSTD_CCtx_setParameter(cctx, ZSTD_c_nbWorkers, nbThreads); + if (ZSTD_isError(r)) { + fprintf (stderr, "Note: the linked libzstd library doesn't support multithreading. " + "Reverting to single-thread mode. \n"); + } + } /* This loop read from the input file, compresses that entire chunk, * and writes all output produced to the output file. @@ -117,7 +123,7 @@ int main(int argc, const char** argv) } int cLevel = 1; - int nbThreads = 4; + int nbThreads = 1; if (argc >= 3) { cLevel = atoi (argv[2]);