summaryrefslogtreecommitdiff
path: root/src/progress.h
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2019-03-11 00:45:39 +0100
committerMichael Lutz <michi@icosahedron.de>2019-04-06 11:27:39 +0200
commit05f4e7360886e36b221ef5c3af4426625a3de686 (patch)
tree27aed9756e80eca86ff95f5805901a80048b0fb1 /src/progress.h
parent3b86f54fc739510277f434c68e17a93ab6448ed4 (diff)
downloadopenttd-05f4e7360886e36b221ef5c3af4426625a3de686.tar.xz
Codechange: Replace custom mutex code with C++11 mutex'es.
A conforming compiler with a valid <mutex>-header is expected. Most parts of the code assume that locking a mutex will never fail unexpectedly, which is generally true on all common platforms that don't just pretend to be C++11. The use of condition variables in driver code is checked.
Diffstat (limited to 'src/progress.h')
-rw-r--r--src/progress.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/progress.h b/src/progress.h
index eec369b23..2a9d73b03 100644
--- a/src/progress.h
+++ b/src/progress.h
@@ -12,7 +12,7 @@
#ifndef PROGRESS_H
#define PROGRESS_H
-#include "thread/thread.h"
+#include <mutex>
static const uint MODAL_PROGRESS_REDRAW_TIMEOUT = 200; ///< Timeout between redraws
@@ -26,10 +26,20 @@ static inline bool HasModalProgress()
return _in_modal_progress;
}
+/**
+ * Check if we can use a thread for modal progress.
+ * @return Threading usable?
+ */
+static inline bool UseThreadedModelProgress()
+{
+ extern bool _use_threaded_modal_progress;
+ return _use_threaded_modal_progress;
+}
+
bool IsFirstModalProgressLoop();
void SetModalProgress(bool state);
-extern class ThreadMutex *_modal_progress_work_mutex;
-extern class ThreadMutex *_modal_progress_paint_mutex;
+extern std::mutex _modal_progress_work_mutex;
+extern std::mutex _modal_progress_paint_mutex;
#endif /* PROGRESS_H */