Rewrite workqueue. This version eliminates the master thread, and

reduces the amount of locking required to find a new thread to run.
This commit is contained in:
Ian Lance Taylor
2007-12-14 19:00:21 +00:00
parent 7004837e8d
commit 17a1d0a9b2
33 changed files with 1491 additions and 1433 deletions

View File

@ -174,6 +174,7 @@ class Input_objects;
class Symbol;
class Symbol_table;
class Layout;
class Task;
class Workqueue;
class Output_file;
template<int size, bool big_endian>
@ -252,7 +253,7 @@ get_version_string();
// Queue up the first set of tasks.
extern void
queue_initial_tasks(const General_options&,
const Dirsearch&,
Dirsearch&,
const Command_line&,
Workqueue*,
Input_objects*,
@ -262,6 +263,7 @@ queue_initial_tasks(const General_options&,
// Queue up the middle set of tasks.
extern void
queue_middle_tasks(const General_options&,
const Task*,
const Input_objects*,
Symbol_table*,
Layout*,