r589: Added threaded rasterizer
[ctsim.git] / src / backgroundsupr.cpp
index a647c44b9382bb88510ccd26ddf9f638ee0d8cb6..3b2f36245f154f46802f3883da355b809ca4f378 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: backgroundsupr.cpp,v 1.8 2001/02/26 17:36:56 kevin Exp $
+**  $Id: backgroundsupr.cpp,v 1.9 2001/02/27 03:59:30 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -74,7 +74,7 @@ BackgroundSupervisor::BackgroundSupervisor (SupervisorThread* pMyThread, wxFrame
     wxEvtHandler()
 {
   m_iNumThreads = theApp->getNumberCPU();
-//    ++m_iNumThreads;
+    ++m_iNumThreads;
 
   m_vecpThreads.reserve (m_iNumThreads);
   for (int iThread = 0; iThread < m_iNumThreads; iThread++)
@@ -125,8 +125,8 @@ BackgroundSupervisor::start()
 {
   int iBaseUnits = m_iTotalUnits / m_iNumThreads;
   int iExtraUnits = m_iTotalUnits % m_iNumThreads;
+  int iStartUnit = 0;
   for (int iThread = 0; iThread < m_iNumThreads; iThread++) {
-    int iStartUnit = iThread * iBaseUnits;
     int iNumUnits = iBaseUnits;
     if (iThread < iExtraUnits)
       ++iNumUnits;
@@ -141,7 +141,8 @@ BackgroundSupervisor::start()
       m_strFailMessage = "Thread creation failed [BackgroundSupervisor]";
       break;
     }
-    m_vecpThreads[iThread]->SetPriority (40);
+   m_vecpThreads[iThread]->SetPriority (40);
+   iStartUnit += iNumUnits;
   }
   if (m_bFail)
     return false;