diff options
author | ShadowNinja <shadowninja@minetest.net> | 2015-04-07 06:13:12 -0400 |
---|---|---|
committer | ShadowNinja <shadowninja@minetest.net> | 2015-08-23 22:04:06 -0400 |
commit | e4bff8be94c0db4f94e63ad448d0eeb869ccdbbd (patch) | |
tree | 7935586e79da5c8c7144e345a8c0fc1cda53beed /src/minimap.h | |
parent | 6a1047d8c116f793890b63427d53f04ceca95d54 (diff) | |
download | minetest-e4bff8be94c0db4f94e63ad448d0eeb869ccdbbd.tar.gz minetest-e4bff8be94c0db4f94e63ad448d0eeb869ccdbbd.tar.bz2 minetest-e4bff8be94c0db4f94e63ad448d0eeb869ccdbbd.zip |
Clean up threading
* Rename everything.
* Strip J prefix.
* Change UpperCamelCase functions to lowerCamelCase.
* Remove global (!) semaphore count mutex on OSX.
* Remove semaphore count getter (unused, unsafe, depended on internal
API functions on Windows, and used a hack on OSX).
* Add `Atomic<type>`.
* Make `Thread` handle thread names.
* Add support for C++11 multi-threading.
* Combine pthread and win32 sources.
* Remove `ThreadStarted` (unused, unneeded).
* Move some includes from the headers to the sources.
* Move all of `Event` into its header (allows inlining with no new includes).
* Make `Event` use `Semaphore` (except on Windows).
* Move some porting functions into `Thread`.
* Integrate logging with `Thread`.
* Add threading test.
Diffstat (limited to 'src/minimap.h')
-rw-r--r-- | src/minimap.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/minimap.h b/src/minimap.h index 628be7489..dd1397d54 100644 --- a/src/minimap.h +++ b/src/minimap.h @@ -20,18 +20,19 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef MINIMAP_HEADER #define MINIMAP_HEADER -#include <map> -#include <string> -#include <vector> #include "irrlichttypes_extrabloated.h" #include "client.h" #include "voxel.h" -#include "jthread/jmutex.h" -#include "jthread/jsemaphore.h" +#include "threading/mutex.h" +#include "threading/semaphore.h" +#include <map> +#include <string> +#include <vector> #define MINIMAP_MAX_SX 512 #define MINIMAP_MAX_SY 512 + enum MinimapMode { MINIMAP_MODE_OFF, MINIMAP_MODE_SURFACEx1, @@ -90,6 +91,7 @@ struct QueuedMinimapUpdate { class MinimapUpdateThread : public UpdateThread { public: + MinimapUpdateThread() : UpdateThread("Minimap") {} virtual ~MinimapUpdateThread(); void getMap(v3s16 pos, s16 size, s16 height, bool radar); @@ -105,11 +107,10 @@ public: MinimapData *data; protected: - const char *getName() { return "MinimapUpdateThread"; } virtual void doUpdate(); private: - JMutex m_queue_mutex; + Mutex m_queue_mutex; std::deque<QueuedMinimapUpdate> m_update_queue; std::map<v3s16, MinimapMapblock *> m_blocks_cache; }; @@ -151,7 +152,7 @@ private: bool m_enable_shaders; u16 m_surface_mode_scan_height; f32 m_angle; - JMutex m_mutex; + Mutex m_mutex; }; #endif |