From 923df9cc2aaeff8c4e00c772ac0e0f49c8ca1e8e Mon Sep 17 00:00:00 2001 From: vng Date: Sat, 9 Jun 2012 11:54:25 -0700 Subject: [generator] Revert changes with multithreading generator. There is some bug in logic. --- generator/feature_generator.cpp | 39 ++++++++------------------------------- 1 file changed, 8 insertions(+), 31 deletions(-) (limited to 'generator/feature_generator.cpp') diff --git a/generator/feature_generator.cpp b/generator/feature_generator.cpp index 3bed8605c7..74c9f51792 100644 --- a/generator/feature_generator.cpp +++ b/generator/feature_generator.cpp @@ -6,7 +6,6 @@ #include "generate_info.hpp" #include "coastlines_generator.hpp" #include "world_map_generator.hpp" -#include "multiproducer_oneconsumer.hpp" #include "../defines.hpp" @@ -334,32 +333,6 @@ public: } } -private: - class CoastFeatureTask : public MultiProducerOneConsumer::ITask - { - MainFeaturesEmitter & m_parent; - size_t m_ind; - - public: - CoastFeatureTask(MainFeaturesEmitter & parent, size_t ind) - : m_parent(parent), m_ind(ind) {} - - virtual void RunBase() - { - vector vecFb; - m_parent.m_coasts->GetFeatures(m_ind, vecFb); - - for (size_t i = 0; i< vecFb.size(); ++i) - Emit(&vecFb[i]); - } - - virtual void EmitBase(void * p) - { - (*m_parent.m_coastsHolder)(*reinterpret_cast(p)); - } - }; - -public: void Finish() { if (m_world) @@ -370,12 +343,16 @@ public: m_coasts->Finish(); size_t const count = m_coasts->GetCellsCount(); - LOG(LINFO, ("Generating coastline features for ", count, " cells.")); + LOG(LINFO, ("Generating coastline polygons", count)); - MultiProducerOneConsumer runner(8); for (size_t i = 0; i < count; ++i) - runner.RunTask(new CoastFeatureTask(*this, i)); - runner.Finish(); + { + vector vecFb; + m_coasts->GetFeatures(i, vecFb); + + for (size_t j = 0; j < vecFb.size(); ++j) + (*m_coastsHolder)(vecFb[j]); + } } else if (m_coastsHolder) { -- cgit v1.2.3