Cleanup jthread and fix win32 build
authorsapier <Sapier at GMX dot net>
Sun, 1 Dec 2013 00:52:06 +0000 (01:52 +0100)
committersapier <Sapier at GMX dot net>
Sun, 1 Dec 2013 15:25:46 +0000 (16:25 +0100)
29 files changed:
src/ban.cpp
src/client.cpp
src/clientmap.cpp
src/debug.cpp
src/emerge.cpp
src/jthread/CMakeLists.txt
src/jthread/jevent.h [new file with mode: 0644]
src/jthread/jmutex.h
src/jthread/jthread.h
src/jthread/pthread/jevent.cpp [new file with mode: 0644]
src/jthread/pthread/jmutex.cpp
src/jthread/pthread/jsemaphore.cpp
src/jthread/pthread/jthread.cpp
src/jthread/win32/jevent.cpp [new file with mode: 0644]
src/jthread/win32/jmutex.cpp
src/jthread/win32/jthread.cpp
src/main.cpp
src/map.cpp
src/mapblock.cpp
src/profiler.h
src/quicktune.cpp
src/script/cpp_api/s_base.cpp
src/script/lua_api/l_async_events.cpp
src/server.cpp
src/settings.h
src/shader.cpp
src/tile.cpp
src/util/container.h
src/util/thread.h

index 50ba0dba1a41b9d4eff4e39023b7586ac90b62b3..8f543b235d82246ece1bc05e7ca760568ea7ad06 100644 (file)
@@ -31,7 +31,6 @@ BanManager::BanManager(const std::string &banfilepath):
                m_banfilepath(banfilepath),
                m_modified(false)
 {
-       m_mutex.Init();
        try{
                load();
        }
index a9a1f6dd90a585c9da8867075ca99935457c2934..8b80e3ecf47d5a7c0fa02ba4178b6464e2c05490 100644 (file)
@@ -82,7 +82,6 @@ QueuedMeshUpdate::~QueuedMeshUpdate()
        
 MeshUpdateQueue::MeshUpdateQueue()
 {
-       m_mutex.Init();
 }
 
 MeshUpdateQueue::~MeshUpdateQueue()
@@ -474,7 +473,7 @@ void Client::step(float dtime)
 
                        core::list<v3s16> deleted_blocks;
 
-                       float delete_unused_sectors_timeout = 
+                       float delete_unused_sectors_timeout =
                                g_settings->getFloat("client_delete_unused_sectors_timeout");
        
                        // Delete sector blocks
@@ -1266,7 +1265,7 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
                u32 index = 8 + MapNode::serializedLength(ser_version);
                if ((datasize >= index+1) && data[index]){
                        remove_metadata = false;
-               }       
+               }
                
                addNode(p, n, remove_metadata);
        }
@@ -2126,7 +2125,7 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
                m_client_event_queue.push_back(event);
        }
        else if(command == TOCLIENT_HUDCHANGE)
-       {       
+       {
                std::string sdata;
                v2f v2fdata;
                u32 intdata = 0;
@@ -2155,7 +2154,7 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
                m_client_event_queue.push_back(event);
        }
        else if(command == TOCLIENT_HUD_SET_FLAGS)
-       {       
+       {
                std::string datastring((char *)&data[2], datasize - 2);
                std::istringstream is(datastring, std::ios_base::binary);
 
@@ -2264,7 +2263,7 @@ void Client::sendNodemetaFields(v3s16 p, const std::string &formname,
        Send(0, data, true);
 }
        
-void Client::sendInventoryFields(const std::string &formname, 
+void Client::sendInventoryFields(const std::string &formname,
                const std::map<std::string, std::string> &fields)
 {
        std::ostringstream os(std::ios_base::binary);
@@ -2468,7 +2467,7 @@ void Client::sendPlayerPos()
        writeV3S32(&data[2], position);
        writeV3S32(&data[2+12], speed);
        writeS32(&data[2+12+12], pitch);
-       writeS32(&data[2+12+12+4], yaw);        
+       writeS32(&data[2+12+12+4], yaw);
        writeU32(&data[2+12+12+4+4], keyPressed);
        // Send as unreliable
        Send(0, data, false);
index e0c41c7629a24ee2ca46e00865612ebdb25e3ec1..df6c2822c209ce4467d15ad862b2ce7f0129037d 100644 (file)
@@ -50,9 +50,6 @@ ClientMap::ClientMap(
        m_camera_direction(0,0,1),
        m_camera_fov(M_PI)
 {
-       m_camera_mutex.Init();
-       assert(m_camera_mutex.IsInitialized());
-       
        m_box = core::aabbox3d<f32>(-BS*1000000,-BS*1000000,-BS*1000000,
                        BS*1000000,BS*1000000,BS*1000000);
 }
index b5bf3f705b772d5a923a31a300adf7c7bb7ef773..278902a081b7fa2836063ace205771cbbcd4c871 100644 (file)
@@ -206,7 +206,6 @@ JMutex g_debug_stacks_mutex;
 
 void debug_stacks_init()
 {
-       g_debug_stacks_mutex.Init();
 }
 
 void debug_stacks_print_to(std::ostream &os)
index 167473ecf7c3bbd5dd83057d70aabbdc4e5f1449..e66e9520bf587edc2f2f5050b3009e059cdead67 100644 (file)
@@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "server.h"
 #include <iostream>
 #include <queue>
+#include "jthread/jevent.h"
 #include "map.h"
 #include "environment.h"
 #include "util/container.h"
@@ -106,7 +107,6 @@ EmergeManager::EmergeManager(IGameDef *gamedef) {
        
        mapgen_debug_info = g_settings->getBool("enable_mapgen_debug_info");
 
-       queuemutex.Init();
        
        int nthreads;
        if (g_settings->get("num_emerge_threads").empty()) {
@@ -385,7 +385,7 @@ void EmergeManager::registerMapgen(std::string mgname, MapgenFactory *mgfactory)
 }
 
 
-////////////////////////////// Emerge Thread ////////////////////////////////// 
+////////////////////////////// Emerge Thread //////////////////////////////////
 
 bool EmergeThread::popBlockEmerge(v3s16 *pos, u8 *flags) {
        std::map<v3s16, BlockEmergeData *>::iterator iter;
@@ -399,7 +399,7 @@ bool EmergeThread::popBlockEmerge(v3s16 *pos, u8 *flags) {
        *pos = p;
        
        iter = emerge->blocks_enqueued.find(p);
-       if (iter == emerge->blocks_enqueued.end()) 
+       if (iter == emerge->blocks_enqueued.end())
                return false; //uh oh, queue and map out of sync!!
 
        BlockEmergeData *bedata = iter->second;
@@ -414,11 +414,11 @@ bool EmergeThread::popBlockEmerge(v3s16 *pos, u8 *flags) {
 }
 
 
-bool EmergeThread::getBlockOrStartGen(v3s16 p, MapBlock **b, 
+bool EmergeThread::getBlockOrStartGen(v3s16 p, MapBlock **b,
                                                                        BlockMakeData *data, bool allow_gen) {
        v2s16 p2d(p.X, p.Z);
        //envlock: usually takes <=1ms, sometimes 90ms or ~400ms to acquire
-       JMutexAutoLock envlock(m_server->m_env_mutex); 
+       JMutexAutoLock envlock(m_server->m_env_mutex);
        
        // Load sector if it isn't loaded
        if (map->getSectorNoGenerateNoEx(p2d) == NULL)
@@ -496,7 +496,7 @@ void *EmergeThread::Thread() {
 
                        {
                                //envlock: usually 0ms, but can take either 30 or 400ms to acquire
-                               JMutexAutoLock envlock(m_server->m_env_mutex); 
+                               JMutexAutoLock envlock(m_server->m_env_mutex);
                                ScopeProfiler sp(g_profiler, "EmergeThread: after "
                                                "Mapgen::makeChunk (envlock)", SPT_AVG);
 
@@ -513,7 +513,7 @@ void *EmergeThread::Thread() {
 
                                        // Ignore map edit events, they will not need to be sent
                                        // to anybody because the block hasn't been sent to anybody
-                                       MapEditEventAreaIgnorer 
+                                       MapEditEventAreaIgnorer
                                                ign(&m_server->m_ignore_map_edit_events_area,
                                                VoxelArea(minp, maxp));
                                        {  // takes about 90ms with -O1 on an e3-1230v2
index 6c29671e69b5b33873997aed1ee53807358e575b..a581a3b024b82cb9d85ae95bb439a63eb33803fd 100644 (file)
@@ -3,11 +3,13 @@ if( UNIX )
                ${CMAKE_CURRENT_SOURCE_DIR}/pthread/jmutex.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/pthread/jthread.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/pthread/jsemaphore.cpp
+               ${CMAKE_CURRENT_SOURCE_DIR}/pthread/jevent.cpp
                PARENT_SCOPE)
 else( UNIX )
        set(JTHREAD_SRCS
                ${CMAKE_CURRENT_SOURCE_DIR}/win32/jmutex.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/win32/jthread.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/win32/jsemaphore.cpp
+               ${CMAKE_CURRENT_SOURCE_DIR}/win32/jevent.cpp
                PARENT_SCOPE)
 endif( UNIX )
diff --git a/src/jthread/jevent.h b/src/jthread/jevent.h
new file mode 100644 (file)
index 0000000..d31d8e6
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+
+    This file is a part of the JThread package, which contains some object-
+    oriented thread wrappers for different thread implementations.
+
+    Copyright (c) 2000-2006  Jori Liesenborgs (jori.liesenborgs@gmail.com)
+
+    Permission is hereby granted, free of charge, to any person obtaining a
+    copy of this software and associated documentation files (the "Software"),
+    to deal in the Software without restriction, including without limitation
+    the rights to use, copy, modify, merge, publish, distribute, sublicense,
+    and/or sell copies of the Software, and to permit persons to whom the
+    Software is furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+    DEALINGS IN THE SOFTWARE.
+
+*/
+
+#ifndef JEVENT_H_
+#define JEVENT_H_
+
+#ifdef _WIN32
+#include <windows.h>
+#else
+#include <semaphore.h>
+#endif
+
+
+class Event {
+#ifdef _WIN32
+       HANDLE hEvent;
+#else
+       sem_t sem;
+#endif
+
+public:
+       Event();
+       ~Event();
+       void wait();
+       void signal();
+};
+
+#endif /* JEVENT_H_ */
index 8efdc7bc58cff3d103a7b0df66fe53538e95da70..e57cd8a435f14217b53d4b371bde40a8890cb3d6 100644 (file)
@@ -53,10 +53,8 @@ class JMutex
 public:
        JMutex();
        ~JMutex();
-       int Init();
        int Lock();
        int Unlock();
-       bool IsInitialized()                                            { return initialized; }
 
 private:
 #if (defined(WIN32) || defined(_WIN32_WCE))
@@ -76,57 +74,6 @@ private:
                return false;
        }
 #endif // WIN32
-       bool initialized;
 };
 
-#ifdef _WIN32
-
-class Event {
-       HANDLE hEvent;
-
-public:
-       Event() {
-               hEvent = CreateEvent(NULL, 0, 0, NULL);
-       }
-       
-       ~Event() {
-               CloseHandle(hEvent);
-       }
-       
-       void wait() {
-               WaitForSingleObject(hEvent, INFINITE); 
-       }
-       
-       void signal() {
-               SetEvent(hEvent);
-       }
-};
-
-#else
-
-#include <semaphore.h>
-
-class Event {
-       sem_t sem;
-
-public:
-       Event() {
-               sem_init(&sem, 0, 0);
-       }
-       
-       ~Event() {
-               sem_destroy(&sem);
-       }
-       
-       void wait() {
-               sem_wait(&sem);
-       }
-       
-       void signal() {
-               sem_post(&sem);
-       }
-};
-
-#endif
-
 #endif // JMUTEX_H
index 867701c75f2f8c53e03e509948dbea5f0fbb8b26..798750ebbe650868e133c6c42fe08bb919b97675 100644 (file)
@@ -74,7 +74,6 @@ private:
 
        JMutex runningmutex;
        JMutex continuemutex,continuemutex2;
-       bool mutexinit;
 };
 
 #endif // JTHREAD_H
diff --git a/src/jthread/pthread/jevent.cpp b/src/jthread/pthread/jevent.cpp
new file mode 100644 (file)
index 0000000..738e74f
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+
+    This file is a part of the JThread package, which contains some object-
+    oriented thread wrappers for different thread implementations.
+
+    Copyright (c) 2000-2006  Jori Liesenborgs (jori.liesenborgs@gmail.com)
+
+    Permission is hereby granted, free of charge, to any person obtaining a
+    copy of this software and associated documentation files (the "Software"),
+    to deal in the Software without restriction, including without limitation
+    the rights to use, copy, modify, merge, publish, distribute, sublicense,
+    and/or sell copies of the Software, and to permit persons to whom the
+    Software is furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+    DEALINGS IN THE SOFTWARE.
+
+*/
+#include <assert.h>
+#include "jthread/jevent.h"
+
+Event::Event() {
+       assert(sem_init(&sem, 0, 0) == 0);
+}
+
+Event::~Event() {
+       assert(sem_destroy(&sem) == 0);
+}
+
+void Event::wait() {
+       assert(sem_wait(&sem) == 0);
+}
+
+void Event::signal() {
+       assert(sem_post(&sem) == 0);
+}
index 3dfad5e6c0d3c988c21a9d0010975b355e9211fd..bcc3853d2b06e18dcea84d107481ec10c196b8e6 100644 (file)
     DEALINGS IN THE SOFTWARE.
 
 */
-
+#include <assert.h>
 #include "jthread/jmutex.h"
 
 JMutex::JMutex()
 {
-       pthread_mutex_init(&mutex,NULL);
-       initialized = true;
+       assert(pthread_mutex_init(&mutex,NULL) == 0);
 }
 
 JMutex::~JMutex()
 {
-       if (initialized)
-               pthread_mutex_destroy(&mutex);
-}
-
-int JMutex::Init()
-{
-       return 0;
+       assert(pthread_mutex_destroy(&mutex) == 0);
 }
 
 int JMutex::Lock()
 {
-       if (!initialized)
-               return ERR_JMUTEX_NOTINIT;
-
-       pthread_mutex_lock(&mutex);
+       assert(pthread_mutex_lock(&mutex) == 0);
        return 0;
 }
 
 int JMutex::Unlock()
 {
-       if (!initialized)
-               return ERR_JMUTEX_NOTINIT;
-
-       pthread_mutex_unlock(&mutex);
+       assert(pthread_mutex_unlock(&mutex) == 0);
        return 0;
 }
index 963ac83cfef6ffec09901ccd891e88d1a64a60d1..31bf39466cc1aebe0d76225cd267be826facefe2 100644 (file)
@@ -16,26 +16,27 @@ You should have received a copy of the GNU Lesser General Public License along
 with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
+#include <assert.h>
 #include "jthread/jsemaphore.h"
 
 JSemaphore::JSemaphore() {
-       sem_init(&m_semaphore,0,0);
+       assert(sem_init(&m_semaphore,0,0) == 0);
 }
 
 JSemaphore::~JSemaphore() {
-       sem_destroy(&m_semaphore);
+       assert(sem_destroy(&m_semaphore) == 0);
 }
 
 JSemaphore::JSemaphore(int initval) {
-       sem_init(&m_semaphore,0,initval);
+       assert(sem_init(&m_semaphore,0,initval) == 0);
 }
 
 void JSemaphore::Post() {
-       sem_post(&m_semaphore);
+       assert(sem_post(&m_semaphore) == 0);
 }
 
 void JSemaphore::Wait() {
-       sem_wait(&m_semaphore);
+       assert(sem_wait(&m_semaphore) == 0);
 }
 
 int JSemaphore::GetValue() {
index c4d9162c8b47a5cda69ebc139e481906270f91ad..e7bf17612f1f27be799203fb3a537e0474eb58d0 100644 (file)
@@ -33,7 +33,6 @@
 JThread::JThread()
 {
        retval = NULL;
-       mutexinit = false;
        requeststop = false;
        running = false;
 }
@@ -53,26 +52,6 @@ int JThread::Start()
 {
        int status;
 
-       if (!mutexinit)
-       {
-               if (!runningmutex.IsInitialized())
-               {
-                       if (runningmutex.Init() < 0)
-                               return ERR_JTHREAD_CANTINITMUTEX;
-               }
-               if (!continuemutex.IsInitialized())
-               {
-                       if (continuemutex.Init() < 0)
-                               return ERR_JTHREAD_CANTINITMUTEX;
-               }
-               if (!continuemutex2.IsInitialized())
-               {
-                       if (continuemutex2.Init() < 0)
-                               return ERR_JTHREAD_CANTINITMUTEX;
-               }
-               mutexinit = true;
-       }
-
        runningmutex.Lock();
        if (running)
        {
diff --git a/src/jthread/win32/jevent.cpp b/src/jthread/win32/jevent.cpp
new file mode 100644 (file)
index 0000000..67b468f
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+
+    This file is a part of the JThread package, which contains some object-
+    oriented thread wrappers for different thread implementations.
+
+    Copyright (c) 2000-2006  Jori Liesenborgs (jori.liesenborgs@gmail.com)
+
+    Permission is hereby granted, free of charge, to any person obtaining a
+    copy of this software and associated documentation files (the "Software"),
+    to deal in the Software without restriction, including without limitation
+    the rights to use, copy, modify, merge, publish, distribute, sublicense,
+    and/or sell copies of the Software, and to permit persons to whom the
+    Software is furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+    DEALINGS IN THE SOFTWARE.
+
+*/
+#include "jthread/jevent.h"
+
+Event::Event() {
+       hEvent = CreateEvent(NULL, 0, 0, NULL);
+}
+
+Event::~Event() {
+       CloseHandle(hEvent);
+}
+
+void Event::wait() {
+       WaitForSingleObject(hEvent, INFINITE);
+}
+
+void Event::signal() {
+       SetEvent(hEvent);
+}
index 8a31495cd255373cb175e008e6935bde1843df13..b9f5e0e73a79f822dbfd174aed8d482941ba9e7a 100644 (file)
@@ -24,7 +24,7 @@
     DEALINGS IN THE SOFTWARE.
 
 */
-
+#include <assert.h>
 #include "jthread/jmutex.h"
 
 JMutex::JMutex()
@@ -33,31 +33,21 @@ JMutex::JMutex()
        InitializeCriticalSection(&mutex);
 #else
        mutex = CreateMutex(NULL,FALSE,NULL);
-       if (mutex == NULL)
-               return ERR_JMUTEX_CANTCREATEMUTEX;
+       assert(mutex != NULL);
 #endif // JMUTEX_CRITICALSECTION
-       initialized = true;
 }
 
 JMutex::~JMutex()
 {
-       if (initialized)
 #ifdef JMUTEX_CRITICALSECTION
-               DeleteCriticalSection(&mutex);
+       DeleteCriticalSection(&mutex);
 #else
-               CloseHandle(mutex);
+       CloseHandle(mutex);
 #endif // JMUTEX_CRITICALSECTION
 }
 
-int JMutex::Init()
-{
-       return 0;
-}
-
 int JMutex::Lock()
 {
-       if (!initialized)
-               return ERR_JMUTEX_NOTINIT;
 #ifdef JMUTEX_CRITICALSECTION
        EnterCriticalSection(&mutex);
 #else
@@ -68,8 +58,6 @@ int JMutex::Lock()
 
 int JMutex::Unlock()
 {
-       if (!initialized)
-               return ERR_JMUTEX_NOTINIT;
 #ifdef JMUTEX_CRITICALSECTION
        LeaveCriticalSection(&mutex);
 #else
index fc1464064f35dcb27f502992bc3c0b80defcc9d3..3d897822e475f1c907898210f98b221b324a5ca2 100644 (file)
@@ -34,7 +34,6 @@
 JThread::JThread()
 {
        retval = NULL;
-       mutexinit = false;
        requeststop = false;
        running = false;
 }
@@ -52,25 +51,6 @@ void JThread::Stop() {
 
 int JThread::Start()
 {
-       if (!mutexinit)
-       {
-               if (!runningmutex.IsInitialized())
-               {
-                       if (runningmutex.Init() < 0)
-                               return ERR_JTHREAD_CANTINITMUTEX;
-               }
-               if (!continuemutex.IsInitialized())
-               {
-                       if (continuemutex.Init() < 0)
-                               return ERR_JTHREAD_CANTINITMUTEX;
-               }
-               if (!continuemutex2.IsInitialized())
-               {
-                       if (continuemutex2.Init() < 0)
-                               return ERR_JTHREAD_CANTINITMUTEX;
-               }               mutexinit = true;
-       }
-
        runningmutex.Lock();
        if (running)
        {
index 2833bdcf78bc57c2f40c57cc8c6aa26f3e4c5197..d5a121e79fda6ead0405ac54903e1b0eed553bb4 100644 (file)
@@ -86,7 +86,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #endif
 
 #if USE_CURL
-#include "curl.h"
+#include "curl/curl.h"
 #endif
 
 /*
@@ -708,7 +708,6 @@ void SpeedTests()
                TimeTaker timer("Testing mutex speed");
 
                JMutex m;
-               m.Init();
                u32 n = 0;
                u32 i = 0;
                do{
index c85876a750ab158a1ebef921f884c2c86496dcdb..4d32ecdfe8418f828ff9109584dd3c298346a855 100644 (file)
@@ -75,8 +75,6 @@ Map::Map(std::ostream &dout, IGameDef *gamedef):
        m_gamedef(gamedef),
        m_sector_cache(NULL)
 {
-       /*m_sector_mutex.Init();
-       assert(m_sector_mutex.IsInitialized());*/
 }
 
 Map::~Map()
@@ -1681,7 +1679,7 @@ void Map::transformLiquidsFinite(std::map<v3s16, MapBlock*> & modified_blocks)
                v3s16 p0 = m_transforming_liquid.pop_front();
                u16 total_level = 0;
                // surrounding flowing liquid nodes
-               NodeNeighbor neighbors[7]; 
+               NodeNeighbor neighbors[7];
                // current level of every block
                s8 liquid_levels[7] = {-1, -1, -1, -1, -1, -1, -1};
                 // target levels
@@ -1782,8 +1780,8 @@ void Map::transformLiquidsFinite(std::map<v3s16, MapBlock*> & modified_blocks)
                        liquid_levels[D_BOTTOM] == LIQUID_LEVEL_SOURCE &&
                        total_level >= LIQUID_LEVEL_SOURCE * can_liquid_same_level-
                        (can_liquid_same_level - relax) &&
-                       can_liquid_same_level >= relax + 1) { 
-                       total_level = LIQUID_LEVEL_SOURCE * can_liquid_same_level; 
+                       can_liquid_same_level >= relax + 1) {
+                       total_level = LIQUID_LEVEL_SOURCE * can_liquid_same_level;
                }
 
                // prevent lakes in air above unloaded blocks
@@ -1792,9 +1790,9 @@ void Map::transformLiquidsFinite(std::map<v3s16, MapBlock*> & modified_blocks)
                }
 
                // calculate self level 5 blocks
-               u8 want_level = 
+               u8 want_level =
                          total_level >= LIQUID_LEVEL_SOURCE * can_liquid_same_level
-                       ? LIQUID_LEVEL_SOURCE 
+                       ? LIQUID_LEVEL_SOURCE
                        : total_level / can_liquid_same_level;
                total_level -= want_level * can_liquid_same_level;
 
@@ -1852,7 +1850,7 @@ void Map::transformLiquidsFinite(std::map<v3s16, MapBlock*> & modified_blocks)
 
                /*
                if (total_level > 0) //|| flowed != volume)
-                       infostream <<" AFTER level=" << (int)total_level 
+                       infostream <<" AFTER level=" << (int)total_level
                        //<< " flowed="<<flowed<< " volume=" << volume
                        << " wantsame="<<(int)want_level<< " top="
                        << (int)liquid_levels_want[D_TOP]<< " topwas="
@@ -1862,7 +1860,7 @@ void Map::transformLiquidsFinite(std::map<v3s16, MapBlock*> & modified_blocks)
 
                //u8 changed = 0;
                for (u16 i = 0; i < 7; i++) {
-                       if (liquid_levels_want[i] < 0 || !neighbors[i].l) 
+                       if (liquid_levels_want[i] < 0 || !neighbors[i].l)
                                continue;
                        MapNode & n0 = neighbors[i].n;
                        p0 = neighbors[i].p;
@@ -1909,7 +1907,7 @@ void Map::transformLiquidsFinite(std::map<v3s16, MapBlock*> & modified_blocks)
                         */
                        /*
                        if (
-                                new_node_content == n0.getContent() 
+                                new_node_content == n0.getContent()
                                && (nodemgr->get(n0.getContent()).liquid_type != LIQUID_FLOWING ||
                                 (n0.getLevel(nodemgr) == (u8)new_node_level
                                 //&& ((n0.param2 & LIQUID_FLOW_DOWN_MASK) ==
index e45af9cdbc6775db4481194634497d02f67e03cf..eafb956d5057fd99fa2217f8b251b5c58a173edd 100644 (file)
@@ -68,7 +68,6 @@ MapBlock::MapBlock(Map *parent, v3s16 pos, IGameDef *gamedef, bool dummy):
                reallocate();
        
 #ifndef SERVER
-       //mesh_mutex.Init();
        mesh = NULL;
 #endif
 }
index f674b33860fe826be325549dfbae57e847553e19..b703a2d5b03fe489776c3bae3bb03c3bc0b9e88c 100644 (file)
@@ -38,7 +38,6 @@ class Profiler
 public:
        Profiler()
        {
-               m_mutex.Init();
        }
 
        void add(const std::string &name, float value)
index 6db72c7276dcc6ab67ca4c75ccbb30661f288b90..2f9f987bdb039adf78b0131c14326e83d3626b22 100644 (file)
@@ -55,7 +55,6 @@ static void makeMutex()
 {
        if(!g_mutex){
                g_mutex = new JMutex();
-               g_mutex->Init();
        }
 }
 
index b1272b64e95b895445be17dcc1a8101ab0571313..b957dc64fe0c196ffb850c605a846360f1a4efe9 100644 (file)
@@ -62,8 +62,6 @@ public:
 
 ScriptApiBase::ScriptApiBase()
 {
-       m_luastackmutex.Init();
-
        #ifdef SCRIPTAPI_LOCK_DEBUG
        m_locked = false;
        #endif
index 8cd835688da79d8fac64724505b9f822a1be328f..2425f22b253bc6ce83bd974bc07d006191421086 100644 (file)
@@ -36,8 +36,6 @@ AsyncEngine::AsyncEngine() :
        m_initDone(false),
        m_JobIdCounter(0)
 {
-       assert(m_JobQueueMutex.Init() == 0);
-       assert(m_ResultQueueMutex.Init() == 0);
 }
 
 /******************************************************************************/
index f0de54f665395462dfcadd68ce6343bdf47daec4..6b9e656e9a4566f260bcc4bf135941f38efeb36c 100644 (file)
@@ -674,9 +674,6 @@ Server::Server(
        m_emergethread_trigger_timer = 0.0;
        m_savemap_timer = 0.0;
 
-       m_env_mutex.Init();
-       m_con_mutex.Init();
-       m_step_dtime_mutex.Init();
        m_step_dtime = 0.0;
 
        if(path_world == "")
@@ -722,7 +719,7 @@ Server::Server(
        m_mods = modconf.getMods();
        std::vector<ModSpec> unsatisfied_mods = modconf.getUnsatisfiedMods();
        // complain about mods with unsatisfied dependencies
-       if(!modconf.isConsistent())     
+       if(!modconf.isConsistent())
        {
                for(std::vector<ModSpec>::iterator it = unsatisfied_mods.begin();
                        it != unsatisfied_mods.end(); ++it)
@@ -741,10 +738,10 @@ Server::Server(
        worldmt_settings.readConfigFile(worldmt.c_str());
        std::vector<std::string> names = worldmt_settings.getNames();
        std::set<std::string> load_mod_names;
-       for(std::vector<std::string>::iterator it = names.begin(); 
+       for(std::vector<std::string>::iterator it = names.begin();
                it != names.end(); ++it)
-       {       
-               std::string name = *it;  
+       {
+               std::string name = *it;
                if(name.compare(0,9,"load_mod_")==0 && worldmt_settings.getBool(name))
                        load_mod_names.insert(name.substr(9));
        }
@@ -756,7 +753,7 @@ Server::Server(
                        it != unsatisfied_mods.end(); ++it)
                load_mod_names.erase((*it).name);
        if(!load_mod_names.empty())
-       {               
+       {
                errorstream << "The following mods could not be found:";
                for(std::set<std::string>::iterator it = load_mod_names.begin();
                        it != load_mod_names.end(); ++it)
index 4ee5b591322a9070f6bf7b685f034cd823b1e54c..e19f83e3fe8e4ede19d0a543c4dd6e385c259896 100644 (file)
@@ -60,7 +60,6 @@ class Settings
 public:
        Settings()
        {
-               m_mutex.Init();
        }
 
        void writeLines(std::ostream &os)
@@ -77,7 +76,7 @@ public:
                }
        }
   
-       // return all keys used 
+       // return all keys used
        std::vector<std::string> getNames(){
                std::vector<std::string> names;
                for(std::map<std::string, std::string>::iterator
@@ -86,7 +85,7 @@ public:
                {
                        names.push_back(i->first);
                }
-               return names;  
+               return names;
        }
 
        // remove a setting
index 4bf10ce31f1c36cf7e58faf9b07d67fc5304ccb6..ec192b9a2c1e102f0fcd400872c9d78d81cbbb32 100644 (file)
@@ -373,8 +373,6 @@ ShaderSource::ShaderSource(IrrlichtDevice *device):
 
        m_shader_callback = new ShaderCallback(this, "default");
 
-       m_shaderinfo_cache_mutex.Init();
-
        m_main_thread = get_current_thread_id();
 
        // Add a dummy ShaderInfo as the first index, named ""
index 71c7290b771d9aec47b9f6241be88a320ee0e569..e003c302074b2573d2640c0596c9e1087ba23fe0 100644 (file)
@@ -433,8 +433,6 @@ TextureSource::TextureSource(IrrlichtDevice *device):
 {
        assert(m_device);
 
-       m_textureinfo_cache_mutex.Init();
-
        m_main_thread = get_current_thread_id();
 
        // Add a NULL TextureInfo as the first index, named ""
index 89daa3fbce3ad3753c2c76b22a7272ded9c7e608..fdd76cc598a3b36a552b31c678841101fc23f316 100644 (file)
@@ -83,8 +83,6 @@ class MutexedMap
 public:
        MutexedMap()
        {
-               m_mutex.Init();
-               assert(m_mutex.IsInitialized());
        }
        
        void set(const Key &name, const Value &value)
@@ -150,8 +148,6 @@ class MutexedIdGenerator
 public:
        MutexedIdGenerator()
        {
-               m_mutex.Init();
-               assert(m_mutex.IsInitialized());
        }
        
        // Returns true if found
@@ -253,7 +249,6 @@ class MutexedQueue
 public:
        MutexedQueue()
        {
-               m_mutex.Init();
        }
        bool empty()
        {
index 6258a09a1a320509b18e202b955d0d6f19d24211..3f5ef1199b7f6e4acd2317212f7eee601cefa7e6 100644 (file)
@@ -32,7 +32,6 @@ public:
        MutexedVariable(T value):
                m_value(value)
        {
-               m_mutex.Init();
        }
 
        T get()
@@ -75,7 +74,6 @@ public:
                JThread(),
                run(true)
        {
-               run_mutex.Init();
        }
 
        virtual ~SimpleThread()