From d98411f53939b7e308f186e5b61791677f3b0ad9 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 8 Dec 2019 14:17:53 +0100 Subject: Add native Windows port of the multi-threaded data writer Signed-off-by: David Oberhollenzer --- lib/sqfs/data_writer/internal.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/sqfs/data_writer/internal.h') diff --git a/lib/sqfs/data_writer/internal.h b/lib/sqfs/data_writer/internal.h index fab6c50..312922b 100644 --- a/lib/sqfs/data_writer/internal.h +++ b/lib/sqfs/data_writer/internal.h @@ -25,6 +25,9 @@ #ifdef WITH_PTHREAD #include #include +#elif defined(_WIN32) || defined(__WINDOWS__) +#define WIN32_LEAN_AND_MEAN +#include #endif @@ -53,6 +56,10 @@ struct sqfs_data_writer_t { pthread_mutex_t mtx; pthread_cond_t queue_cond; pthread_cond_t done_cond; +#elif defined(_WIN32) || defined(__WINDOWS__) + CRITICAL_SECTION mtx; + HANDLE queue_cond; + HANDLE done_cond; #endif /* needs rw access by worker and main thread */ @@ -102,7 +109,7 @@ struct sqfs_data_writer_t { /* used only by workers */ size_t max_block_size; -#ifdef WITH_PTHREAD +#if defined(WITH_PTHREAD) || defined(_WIN32) || defined(__WINDOWS__) compress_worker_t *workers[]; #else sqfs_u8 scratch[]; -- cgit v1.2.3