Skip to content

Commit 848bd4f

Browse files
committed
fix: fix #71
1 parent 552bbd9 commit 848bd4f

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

src/legacy/api/EventAPI.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -838,7 +838,7 @@ void EnableEventListener(int eventId) {
838838
}
839839
}
840840

841-
ll::schedule::GameTickScheduler eventScheduler;
841+
ll::schedule::ServerTimeScheduler eventScheduler;
842842

843843
void InitBasicEventListeners() {
844844
using namespace ll::event;

src/legacy/api/SystemAPI.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ ClassDefine<void> SystemClassBuilder = defineClass("system")
2727
.function("newProcess", &SystemClass::newProcess)
2828
.build();
2929

30-
ll::schedule::GameTickScheduler systemScheduler;
30+
ll::schedule::ServerTimeScheduler systemScheduler;
3131
// From LiteLoaderBDSv2 llapi/utils/WinHelper.cpp
3232
bool NewProcess(
3333
const std::string& process,

src/legacy/engine/TimeTaskSystem.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "engine/EngineManager.h"
55
#include "engine/EngineOwnData.h"
66
#include "engine/MessageSystem.h"
7+
#include "ll/api/schedule/Scheduler.h"
78
#include "ll/api/schedule/scheduler.h"
89

910
#include <chrono>
@@ -15,9 +16,9 @@
1516
#include <shared_mutex>
1617
#include <vector>
1718

18-
std::atomic_uint timeTaskId = 0;
19-
std::mutex locker;
20-
ll::schedule::GameTickScheduler taskScheduler;
19+
std::atomic_uint timeTaskId = 0;
20+
std::mutex locker;
21+
ll::schedule::ServerTimeScheduler taskScheduler;
2122
struct TimeTaskData {
2223
uint64 task;
2324
script::Global<Function> func;
@@ -69,7 +70,7 @@ std::unordered_map<int, TimeTaskData> timeTaskMap;
6970
// taskScheduler.add<ll::schedule::DelayTask>(
7071
// std::chrono::milliseconds(timeout),
7172
// [engine, func = std::move(func), paras = std::move(tmp)]() {
72-
// if ((ll::getServerStatus() != ll::ServerStatus::Running)) return;
73+
// if ((ll::getServerStatus() == ll::ServerStatus::Stopping)) return;
7374
// if (!EngineManager::isValid(engine)) return;
7475
// EngineScope enter(engine);
7576
// if (paras.empty()) {
@@ -97,7 +98,7 @@ int NewTimeout(Local<Function> func, vector<Local<Value>> paras, int timeout) {
9798
std::chrono::milliseconds(timeout),
9899
[engine{EngineScope::currentEngine()}, id{tid}]() {
99100
try {
100-
if ((ll::getServerStatus() != ll::ServerStatus::Running)) return;
101+
if ((ll::getServerStatus() == ll::ServerStatus::Stopping)) return;
101102
if (!EngineManager::isValid(engine)) return;
102103
// lock after enter EngineScope to prevent deadlock
103104
EngineScope scope(engine);
@@ -144,7 +145,7 @@ int NewTimeout(Local<String> func, int timeout) {
144145
std::chrono::milliseconds(timeout),
145146
[engine{EngineScope::currentEngine()}, id{tid}]() {
146147
try {
147-
if ((ll::getServerStatus() != ll::ServerStatus::Running)) return;
148+
if ((ll::getServerStatus() == ll::ServerStatus::Stopping)) return;
148149
if (!EngineManager::isValid(engine)) return;
149150
EngineScope scope(engine);
150151
TimeTaskData taskData;
@@ -184,7 +185,7 @@ int NewInterval(Local<Function> func, vector<Local<Value>> paras, int timeout) {
184185
std::chrono::milliseconds(timeout),
185186
[engine{EngineScope::currentEngine()}, id{tid}]() {
186187
try {
187-
if ((ll::getServerStatus() != ll::ServerStatus::Running)) return;
188+
if ((ll::getServerStatus() == ll::ServerStatus::Stopping)) return;
188189
if (!EngineManager::isValid(engine)) {
189190
ClearTimeTask(id);
190191
return;
@@ -235,7 +236,7 @@ int NewInterval(Local<String> func, int timeout) {
235236
std::chrono::milliseconds(timeout),
236237
[engine{EngineScope::currentEngine()}, id{tid}]() {
237238
try {
238-
if ((ll::getServerStatus() != ll::ServerStatus::Running)) return;
239+
if ((ll::getServerStatus() == ll::ServerStatus::Stopping)) return;
239240
if (!EngineManager::isValid(engine)) {
240241
ClearTimeTask(id);
241242
return;

src/legacy/main/NodeJsHelper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include <uv/uv.h>
2222
#include <v8/v8.h>
2323

24-
ll::schedule::GameTickScheduler nodeScheduler;
24+
ll::schedule::ServerTimeScheduler nodeScheduler;
2525
using ll::chrono_literals::operator""_tick;
2626

2727
// pre-declare

0 commit comments

Comments
 (0)