Use boost::shared_ptr instead of std::auto_ptr where threads are involved, because std::auto_ptr is not thread safe.
This commit is contained in:
@@ -26,7 +26,6 @@
|
||||
#include <playerdata.h>
|
||||
#include <gamedata.h>
|
||||
#include <string>
|
||||
#include <memory>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
class ClientContext;
|
||||
@@ -151,14 +150,14 @@ private:
|
||||
NetPacketList m_outPacketList;
|
||||
mutable boost::mutex m_outPacketListMutex;
|
||||
|
||||
std::auto_ptr<ClientContext> m_context;
|
||||
std::auto_ptr<ClientSenderCallback> m_senderCallback;
|
||||
boost::shared_ptr<ClientContext> m_context;
|
||||
boost::shared_ptr<ClientSenderCallback> m_senderCallback;
|
||||
ClientState *m_curState;
|
||||
GuiInterface &m_gui;
|
||||
AvatarManager &m_avatarManager;
|
||||
|
||||
std::auto_ptr<SenderThread> m_sender;
|
||||
std::auto_ptr<ReceiverHelper> m_receiver;
|
||||
boost::shared_ptr<SenderThread> m_sender;
|
||||
boost::shared_ptr<ReceiverHelper> m_receiver;
|
||||
|
||||
GameData m_gameData;
|
||||
StartData m_startData;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
#include <core/thread.h>
|
||||
#include <string>
|
||||
#include <memory>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
class ClientContext;
|
||||
|
||||
@@ -53,7 +53,7 @@ protected:
|
||||
|
||||
private:
|
||||
|
||||
std::auto_ptr<ClientContext> m_context;
|
||||
boost::shared_ptr<ClientContext> m_context;
|
||||
bool m_retVal;
|
||||
};
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include <core/thread.h>
|
||||
#include <gui/guiinterface.h>
|
||||
#include <string>
|
||||
#include <memory>
|
||||
|
||||
class ServerContext;
|
||||
class ServerLobbyThread;
|
||||
@@ -61,8 +60,8 @@ protected:
|
||||
ServerLobbyThread &GetLobbyThread();
|
||||
|
||||
private:
|
||||
std::auto_ptr<ServerContext> m_context;
|
||||
std::auto_ptr<ServerLobbyThread> m_lobbyThread;
|
||||
boost::shared_ptr<ServerContext> m_context;
|
||||
boost::shared_ptr<ServerLobbyThread> m_lobbyThread;
|
||||
|
||||
GuiInterface &m_gui;
|
||||
};
|
||||
|
||||
@@ -133,8 +133,8 @@ private:
|
||||
mutable boost::mutex m_adminPlayerIdMutex;
|
||||
|
||||
ServerLobbyThread &m_lobbyThread;
|
||||
std::auto_ptr<ReceiverHelper> m_receiver;
|
||||
std::auto_ptr<SenderThread> m_sender;
|
||||
boost::shared_ptr<ReceiverHelper> m_receiver;
|
||||
boost::shared_ptr<SenderThread> m_sender;
|
||||
boost::shared_ptr<GameSenderCallback> m_senderCallback;
|
||||
GuiInterface &m_gui;
|
||||
|
||||
|
||||
@@ -164,8 +164,8 @@ private:
|
||||
|
||||
GameMap m_gameMap;
|
||||
|
||||
std::auto_ptr<ReceiverHelper> m_receiver;
|
||||
std::auto_ptr<SenderThread> m_sender;
|
||||
boost::shared_ptr<ReceiverHelper> m_receiver;
|
||||
boost::shared_ptr<SenderThread> m_sender;
|
||||
boost::shared_ptr<ServerSenderCallback> m_senderCallback;
|
||||
GuiInterface &m_gui;
|
||||
AvatarManager &m_avatarManager;
|
||||
|
||||
Reference in New Issue
Block a user