Procházet zdrojové kódy

Integrate deferred background processing into main OneService implementation.

Adam Ierymenko před 9 roky
rodič
revize
3e22fee842
2 změnil soubory, kde provedl 12 přidání a 0 odebrání
  1. 8 0
      node/Node.hpp
  2. 4 0
      service/OneService.cpp

+ 8 - 0
node/Node.hpp

@@ -129,6 +129,14 @@ public:
 
 	// Internal functions ------------------------------------------------------
 
+	/**
+	 * Convenience threadMain() for easy background thread launch
+	 *
+	 * This allows background threads to be launched with Thread::start
+	 * that will run against this node.
+	 */
+	inline void threadMain() throw() { this->backgroundThreadMain(); }
+
 	/**
 	 * @return Time as of last call to run()
 	 */

+ 4 - 0
service/OneService.cpp

@@ -656,6 +656,10 @@ public:
 				}
 			}
 
+			// Start two background threads to handle expensive ops out of line
+			Thread::start(_node);
+			Thread::start(_node);
+
 			_nextBackgroundTaskDeadline = 0;
 			uint64_t clockShouldBe = OSUtils::now();
 			_lastRestart = clockShouldBe;