Fix memory leak in dev server
This commit is contained in:
+4
-10
@@ -2,7 +2,7 @@ import _ from "lodash";
|
||||
import { log } from "../../utils/log";
|
||||
import serverParamsGen from "./server-params-gen";
|
||||
import isDevelopment from "../../utils/is-development";
|
||||
import { restartWatcher, watcherRestartAvailable, } from "./watcher-esbuild-ctx";
|
||||
import { watcherWatchdogTick } from "./watcher-esbuild-ctx";
|
||||
export default async function startServer() {
|
||||
const serverParams = await serverParamsGen();
|
||||
const server = Bun.serve(serverParams);
|
||||
@@ -10,15 +10,9 @@ export default async function startServer() {
|
||||
global.BUNEXT_SERVER = server;
|
||||
log.server(`http://${server.hostname}:${server.port}`);
|
||||
if (is_dev) {
|
||||
// Watchdog: periodically re-create the FS watcher in case it went
|
||||
// stale and stopped receiving events. Skipped while a recent restart
|
||||
// (e.g. by fullRebuild) is still fresh so the watcher isn't churned
|
||||
// twice in a row.
|
||||
setInterval(() => {
|
||||
if (watcherRestartAvailable()) {
|
||||
restartWatcher();
|
||||
}
|
||||
}, 5000);
|
||||
// Watchdog: re-create the FS watcher if it went stale and stopped
|
||||
// receiving events.
|
||||
setInterval(watcherWatchdogTick, 5000);
|
||||
}
|
||||
return server;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user