Fixed plugin synchronization
This commit is contained in:
@@ -71,12 +71,10 @@ public class EventPipelineTask {
|
|||||||
|
|
||||||
private LockObserveList getLocks(RegisteredEventHandler handler) {
|
private LockObserveList getLocks(RegisteredEventHandler handler) {
|
||||||
LockObserveList locks = new LockObserveList();
|
LockObserveList locks = new LockObserveList();
|
||||||
/*
|
|
||||||
|
|
||||||
if (handler.isPluginSynchronize())
|
if (handler.isPluginSynchronize())
|
||||||
locks.add(manager.getResourceManager().getPluginLock(handler.getPlugin()));
|
locks.add(manager.getResourceManager().getPluginLock(handler.getPlugin()));
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
return locks;
|
return locks;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
package mc.core.events;
|
package mc.core.events;
|
||||||
|
|
||||||
import mc.core.events.api.Plugin;
|
import mc.core.events.api.Plugin;
|
||||||
|
import mc.core.events.lock.PoorMansLock;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.locks.Lock;
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
|
||||||
|
|
||||||
public class SharedResourceManager {
|
public class SharedResourceManager {
|
||||||
private Map<Plugin, Lock> pluginLocks = new ConcurrentHashMap<>();
|
private Map<Plugin, PoorMansLock> pluginLocks = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
public Lock getPluginLock(Plugin plugin) {
|
public PoorMansLock getPluginLock(Plugin plugin) {
|
||||||
return pluginLocks.computeIfAbsent(plugin, s -> new ReentrantLock());
|
return pluginLocks.computeIfAbsent(plugin, s -> new PoorMansLock());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user