From 0510edc734b01287b1a4e9e9901a59bdf5b45d04 Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 16 Jul 2007 17:23:49 +0000 Subject: [PATCH] use runtime check for thread support --- panda/src/net/connectionWriter.cxx | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/panda/src/net/connectionWriter.cxx b/panda/src/net/connectionWriter.cxx index c142b4c309..7937bddc6a 100644 --- a/panda/src/net/connectionWriter.cxx +++ b/panda/src/net/connectionWriter.cxx @@ -61,21 +61,18 @@ ConnectionWriter:: ConnectionWriter(ConnectionManager *manager, int num_threads) : _manager(manager) { -#if !defined(HAVE_THREADS) || defined(SIMPLE_THREADS) - // Although this code is written to use thread-locking primitives - // regardless of the definition of HAVE_THREADS, it is not safe to - // spawn multiple threads when HAVE_THREADS is not true, since we - // might be using a non-thread-safe malloc scheme. Also, there is - // no point in using threads for this kind of I/O if SIMPLE_THREADS - // is defined. + if (!Thread::is_true_threads()) { + // There is no point in using threads for this kind of I/O unless + // we actually have real threads available (i.e. HAVE_THREADS is + // defined, and SIMPLE_THREADS is not). #ifndef NDEBUG - if (num_threads != 0) { - net_cat.error() - << "Threading support is not available.\n"; - } + if (num_threads != 0) { + net_cat.error() + << "Threading support is not available.\n"; + } #endif // NDEBUG - num_threads = 0; -#endif // HAVE_THREADS + num_threads = 0; + } _raw_mode = false; _tcp_header_size = datagram_tcp16_header_size;