-};
-
-/** The Mutex class represents a mutex, which can be used to keep threads
- * properly synchronised. Use mutexes sparingly, as they are a good source
- * of thread deadlocks etc, and should be avoided except where absolutely
- * neccessary. Note that the internal behaviour of the mutex varies from OS
- * to OS depending on the thread engine, for example in windows a Mutex
- * in InspIRCd uses critical sections, as they are faster and simpler to
- * manage.
- */
-class CoreExport Mutex
-{
- protected:
- /** Enable or disable the Mutex. This method has somewhat confusing
- * wording (e.g. the function name and parameters) so it is protected
- * in preference of the Lock() and Unlock() methods which are user-
- * accessible.
- *
- * @param enable True to enable the mutex (enter it) and false to
- * disable the mutex (leave it).
- */
- virtual void Enable(bool enable) = 0;