Browse Source

bug #1592

(cherry picked from commit 033774f1fb)
tags/v0.8.6.7
Shaun 3 years ago
committed by Big Bad Waffle
parent
commit
987337aaf1
1 changed files with 6 additions and 4 deletions
  1. +6
    -4
      src/server/components/auth.js

+ 6
- 4
src/server/components/auth.js View File

@@ -15,8 +15,8 @@ const checkLoginRewards = require('./auth/checkLoginRewards');
// since we don't have a read/write lock on the characters table, we have to address it in code
const createLockBuffer = [];
const getCreateLock = async () => {
const releaseLock = res => {
createLockBuffer.spliceWhere(r => r === res);
const releaseLock = lockEntry => {
createLockBuffer.spliceWhere(c => c === lockEntry);

const nextEntry = createLockBuffer[0];

@@ -383,8 +383,6 @@ module.exports = {
},

createCharacter: async function (msg) {
const releaseCreateLock = await getCreateLock();

let data = msg.data;
let name = data.name;

@@ -417,6 +415,8 @@ module.exports = {
return;
}

const releaseCreateLock = await getCreateLock();

let exists = await io.getAsync({
key: name,
ignoreCase: true,
@@ -425,7 +425,9 @@ module.exports = {
});

if (exists) {
releaseCreateLock();
msg.callback(messages.login.charExists);

return;
}



Loading…
Cancel
Save