Delete clients
*/
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (auto &client_it : m_clients) {
// Delete client
std::vector<session_t> ClientInterface::getClientIDs(ClientState min_state)
{
std::vector<session_t> reply;
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (const auto &m_client : m_clients) {
if (m_client.second->getState() >= min_state)
void ClientInterface::markBlockposAsNotSent(const v3s16 &pos)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (const auto &client : m_clients) {
if (client.second->getState() >= CS_Active)
client.second->SetBlockNotSent(pos);
infostream << "* " << player->getName() << "\t";
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClient* client = lockedGetClientNoEx(i);
if (client)
client->PrintInfo(infostream);
void ClientInterface::sendToAll(NetworkPacket *pkt)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (auto &client_it : m_clients) {
RemoteClient *client = client_it.second;
void ClientInterface::sendToAllCompat(NetworkPacket *pkt, NetworkPacket *legacypkt,
u16 min_proto_ver)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (auto &client_it : m_clients) {
RemoteClient *client = client_it.second;
NetworkPacket *pkt_to_send = nullptr;
RemoteClient* ClientInterface::getClientNoEx(session_t peer_id, ClientState state_min)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClientMap::const_iterator n = m_clients.find(peer_id);
// The client may not exist; clients are immediately removed if their
// access is denied, and this event occurs later then.
ClientState ClientInterface::getClientState(session_t peer_id)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClientMap::const_iterator n = m_clients.find(peer_id);
// The client may not exist; clients are immediately removed if their
// access is denied, and this event occurs later then.
void ClientInterface::setPlayerName(session_t peer_id, const std::string &name)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClientMap::iterator n = m_clients.find(peer_id);
// The client may not exist; clients are immediately removed if their
// access is denied, and this event occurs later then.
void ClientInterface::DeleteClient(session_t peer_id)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
void ClientInterface::CreateClient(session_t peer_id)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
void ClientInterface::event(session_t peer_id, ClientStateEvent event)
{
{
- MutexAutoLock clientlock(m_clients_mutex);
+ RecursiveMutexAutoLock clientlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
u16 ClientInterface::getProtocolVersion(session_t peer_id)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
void ClientInterface::setClientVersion(session_t peer_id, u8 major, u8 minor, u8 patch,
const std::string &full)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);