1 // gold-threads.h -- thread support for gold -*- C++ -*-
3 // gold can be configured to support threads. If threads are
4 // supported, the user can specify at runtime whether or not to
5 // support them. This provides an interface to manage locking
9 // A simple lock class.
11 #ifndef GOLD_THREADS_H
12 #define GOLD_THREADS_H
20 // A simple lock class.
37 // This class can not be copied.
39 Lock
& operator=(const Lock
&);
44 { return this->lock_
; }
56 { this->lock_
.acquire(); }
59 { this->lock_
.release(); }
62 // This class can not be copied.
63 Hold_lock(const Hold_lock
&);
64 Hold_lock
& operator=(const Hold_lock
&);
71 // A simple condition variable class. It is always associated with a
80 // Wait for the condition variable to be signalled. This should
81 // only be called when the lock is held.
85 // Signal the condition variable. This should only be called when
91 // This class can not be copied.
92 Condvar(const Condvar
&);
93 Condvar
& operator=(const Condvar
&);
96 Condvar_impl
* condvar_
;
99 } // End namespace gold.
101 #endif // !defined(GOLD_THREADS_H)