Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions packages/vite/src/node/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1634,12 +1634,17 @@ const parentSigtermCallback: SigtermCallback = async (signal, exitCode) => {
await Promise.all([...sigtermCallbacks].map((cb) => cb(signal, exitCode)))
}

const drain = () => {}

export const setupSIGTERMListener = (
callback: (signal?: 'SIGTERM', exitCode?: number) => Promise<void>,
): void => {
if (sigtermCallbacks.size === 0) {
process.once('SIGTERM', parentSigtermCallback)
if (process.env.CI !== 'true') {
if (!process.stdin.isTTY) {
process.stdin.on('data', drain)
}
process.stdin.on('end', parentSigtermCallback)
}
}
Expand All @@ -1653,6 +1658,7 @@ export const teardownSIGTERMListener = (
if (sigtermCallbacks.size === 0) {
process.off('SIGTERM', parentSigtermCallback)
if (process.env.CI !== 'true') {
process.stdin.off('data', drain)
process.stdin.off('end', parentSigtermCallback)
}
}
Expand Down
Loading