From 1e4e1c5837982a67640cb27b99c4b3ec4b6367dc Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 30 May 2025 14:48:48 +0700 Subject: [PATCH] [FIX] Add writeLock for Client in launchserver.config.reload --- .../main/java/pro/gravit/launchserver/LaunchServer.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java index 2d644ea7..dc858e67 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java @@ -226,8 +226,15 @@ public void reload(ReloadType type) throws Exception { if(!type.equals(ReloadType.NO_AUTH)) { nettyServerSocketHandler.nettyServer.service.forEachActiveChannels((channel, wsHandler) -> { Client client = wsHandler.getClient(); - if(client.auth != null) { + var lock = client.writeLock(); + lock.lock(); + try { + if (client.auth_id == null) { + return; + } client.auth = config.getAuthProviderPair(client.auth_id); + } finally { + lock.unlock(); } }); }