* readsyms.cc (Read_symbols::run): Don't queue an unblocker

task for members of lib groups.
This commit is contained in:
Cary Coutant
2011-10-17 23:43:18 +00:00
parent 4f95c8b4f1
commit f475cf7b6c
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2011-10-17 Cary Coutant <ccoutant@google.com>
* readsyms.cc (Read_symbols::run): Don't queue an unblocker
task for members of lib groups.
2011-10-17 Cary Coutant <ccoutant@google.com> 2011-10-17 Cary Coutant <ccoutant@google.com>
PR gold/13288 PR gold/13288

View File

@ -161,8 +161,10 @@ void
Read_symbols::run(Workqueue* workqueue) Read_symbols::run(Workqueue* workqueue)
{ {
// If we didn't queue a new task, then we need to explicitly unblock // If we didn't queue a new task, then we need to explicitly unblock
// the token. // the token. If the object is a member of a lib group, however,
if (!this->do_read_symbols(workqueue)) // the token was already added to the list of locks for the task,
// and it will be unblocked automatically at the end of the task.
if (!this->do_read_symbols(workqueue) && this->member_ == NULL)
workqueue->queue_soon(new Unblock_token(this->this_blocker_, workqueue->queue_soon(new Unblock_token(this->this_blocker_,
this->next_blocker_)); this->next_blocker_));
} }