From c80a49f556ae565e280637b4617d6492a1d5a3b8 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 2 May 2011 11:52:28 +0200 Subject: [PATCH] move the mapping generation to the top as the response reading is currently waiting for the solver to complete and not non-blocking so we can generate the map while waiting for the solver --- apt-pkg/edsp.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc index 6343b57cd..9dbbbaf26 100644 --- a/apt-pkg/edsp.cc +++ b/apt-pkg/edsp.cc @@ -221,11 +221,6 @@ bool EDSP::WriteRequest(pkgDepCache &Cache, FILE* output, bool const Upgrade, /*}}}*/ // EDSP::ReadResponse - from the given file descriptor /*{{{*/ bool EDSP::ReadResponse(int const input, pkgDepCache &Cache) { - FileFd in; - in.OpenDescriptor(input, FileFd::ReadOnly); - pkgTagFile response(&in); - pkgTagSection section; - /* We build an map id to mmap offset here In theory we could use the offset as ID, but then VersionCount couldn't be used to create other versionmappings anymore and it @@ -236,6 +231,11 @@ bool EDSP::ReadResponse(int const input, pkgDepCache &Cache) { for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V) VerIdx[V->ID] = V.Index(); + FileFd in; + in.OpenDescriptor(input, FileFd::ReadOnly); + pkgTagFile response(&in); + pkgTagSection section; + while (response.Step(section) == true) { std::string type; if (section.Exists("Install") == true) -- 2.45.2