From c76c0f017fa884c4b9a04ff7fa3b43d331c82d84 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 23 Feb 2010 14:21:48 -0500 Subject: Determine nthreads in dmnsn_new_scene(). --- libdimension/raytrace.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'libdimension/raytrace.c') diff --git a/libdimension/raytrace.c b/libdimension/raytrace.c index 6721a9b..3fa873c 100644 --- a/libdimension/raytrace.c +++ b/libdimension/raytrace.c @@ -19,7 +19,6 @@ *************************************************************************/ #include "dimension_impl.h" -#include /* For sysconf */ /* * Boilerplate for multithreading @@ -109,20 +108,16 @@ static void *dmnsn_raytrace_scene_multithread_thread(void *ptr); static int dmnsn_raytrace_scene_multithread(dmnsn_raytrace_payload *payload) { - int i, j, nthreads = payload->scene->nthreads; + int i, j; void *ptr; int retval = 0; dmnsn_raytrace_payload *payloads; pthread_t *threads; - if (!nthreads) { - /* Find the number of processors/cores running (TODO: do this portably) */ - nthreads = sysconf(_SC_NPROCESSORS_ONLN); - if (nthreads < 1) { - nthreads = 1; - } - /* End non-portable section */ - } + unsigned int nthreads = payload->scene->nthreads; + /* Sanity check */ + if (nthreads < 1) + nthreads = 1; payloads = malloc(nthreads*sizeof(dmnsn_raytrace_payload)); if (!payloads) { -- cgit v1.2.3