mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2025-01-15 03:51:20 +01:00
Catch IllegalPluginAccessExcption with scheduling logging tasks.
While we can/could control which stream to log to within onDisable, we should still assume that an asynchronous task could be using the logging system. Since we don't have a clean entry to onDisable, we have to catch the exception.
This commit is contained in:
parent
71513f2d0c
commit
c1c7e83bde
@ -1,6 +1,7 @@
|
|||||||
package fr.neatmonster.nocheatplus.logging.details;
|
package fr.neatmonster.nocheatplus.logging.details;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.IllegalPluginAccessException;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import fr.neatmonster.nocheatplus.components.TickListener;
|
import fr.neatmonster.nocheatplus.components.TickListener;
|
||||||
@ -47,7 +48,11 @@ public class BukkitLogNodeDispatcher extends AbstractLogNodeDispatcher { // TODO
|
|||||||
synchronized (queueAsynchronous) {
|
synchronized (queueAsynchronous) {
|
||||||
if (taskAsynchronousID == -1) {
|
if (taskAsynchronousID == -1) {
|
||||||
// Deadlocking should not be possible.
|
// Deadlocking should not be possible.
|
||||||
taskAsynchronousID = Bukkit.getScheduler().runTaskAsynchronously(plugin, taskAsynchronous).getTaskId();
|
try {
|
||||||
|
taskAsynchronousID = Bukkit.getScheduler().runTaskAsynchronously(plugin, taskAsynchronous).getTaskId();
|
||||||
|
} catch (IllegalPluginAccessException ex) {
|
||||||
|
// (Should be during onDisable, ignore for now.)
|
||||||
|
}
|
||||||
// TODO: Re-check task id here.
|
// TODO: Re-check task id here.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user