diff options
author | Ian Lance Taylor <ian@airs.com> | 2010-02-11 07:42:17 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2010-02-11 07:42:17 +0000 |
commit | fa17a3f4328a7f3bbf5491159c422edb0b2da7ba (patch) | |
tree | a31fafb5f6b738627a05ad5a22f9a04dfdc04d84 /gold/dirsearch.cc | |
parent | 612bdda1388367fe02d0c4096e87ce7668d4b3ee (diff) | |
download | gdb-fa17a3f4328a7f3bbf5491159c422edb0b2da7ba.zip gdb-fa17a3f4328a7f3bbf5491159c422edb0b2da7ba.tar.gz gdb-fa17a3f4328a7f3bbf5491159c422edb0b2da7ba.tar.bz2 |
* dirsearch.cc (Dirsearch::initialize): Add all blockers before
queueing any tasks.
* gold.cc (queue_middle_gc_tasks): Likewise. Fix final blocker.
(queue_middle_tasks): Add all blockers before queueing any tasks.
(queue_final_tasks): Likewise.
* token.h (Task_token::add_blockers): New function.
* object.h (Input_objects::number_of_relobjs): New function.
Diffstat (limited to 'gold/dirsearch.cc')
-rw-r--r-- | gold/dirsearch.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gold/dirsearch.cc b/gold/dirsearch.cc index 84e1b32..fac3b2c 100644 --- a/gold/dirsearch.cc +++ b/gold/dirsearch.cc @@ -1,6 +1,6 @@ // dirsearch.cc -- directory searching for gold -// Copyright 2006, 2007, 2008 Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -229,13 +229,11 @@ Dirsearch::initialize(Workqueue* workqueue, gold_assert(caches == NULL); caches = new Dir_caches; this->directories_ = directories; + this->token_.add_blockers(directories->size()); for (General_options::Dir_list::const_iterator p = directories->begin(); p != directories->end(); ++p) - { - this->token_.add_blocker(); - workqueue->queue(new Dir_cache_task(p->name().c_str(), this->token_)); - } + workqueue->queue(new Dir_cache_task(p->name().c_str(), this->token_)); } // Search for a file. NOTE: we only log failed file-lookup attempts |