diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2015-03-22 21:33:09 +0100 |
---|---|---|
committer | Loic Blot <loic.blot@unix-experience.fr> | 2015-03-22 21:33:09 +0100 |
commit | 0ae75f2a4e3107271924311b93327ff4b6c24e8c (patch) | |
tree | de8e8aeb888202ce04fdb7e29d02cb607905d74a | |
parent | 0e5e49736c0a5fa29bca257bafc02d7c7a7171c9 (diff) | |
download | minetest-0ae75f2a4e3107271924311b93327ff4b6c24e8c.tar.gz minetest-0ae75f2a4e3107271924311b93327ff4b6c24e8c.tar.bz2 minetest-0ae75f2a4e3107271924311b93327ff4b6c24e8c.zip |
Player: Fix a deadlock triggered by previous commit 0e5e49736c0a5fa29bca257bafc02d7c7a7171c9
-rw-r--r-- | src/player.cpp | 2 | ||||
-rw-r--r-- | src/player.h | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/player.cpp b/src/player.cpp index 88c5634e3..08cb24248 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "player.h" #include <fstream> +#include "jthread/jmutexautolock.h" #include "util/numeric.h" #include "hud.h" #include "constants.h" @@ -241,6 +242,7 @@ void Player::deSerialize(std::istream &is, std::string playername) u32 Player::addHud(HudElement *toadd) { JMutexAutoLock lock(m_mutex); + u32 id = getFreeHudID(); if (id < hud.size()) diff --git a/src/player.h b/src/player.h index f38bd5615..d4698ea4a 100644 --- a/src/player.h +++ b/src/player.h @@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes_bloated.h" #include "inventory.h" #include "constants.h" // BS -#include "jthread/jmutexautolock.h" +#include "jthread/jmutex.h" #include <list> #define PLAYERNAME_SIZE 20 @@ -204,7 +204,6 @@ public: } u32 getFreeHudID() { - JMutexAutoLock lock(m_mutex); size_t size = hud.size(); for (size_t i = 0; i != size; i++) { if (!hud[i]) |