MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / shutdown

Function shutdown

web/scripts/discord/index.ts:40–69  ·  view source on GitHub ↗
(exitCode: number = 0)

Source from the content-addressed store, hash-verified

38}
39
40async function shutdown(exitCode: number = 0): Promise<void> {
41 if (isShuttingDown) {
42 log('warn', 'Shutdown already in progress, ignoring duplicate call')
43 return
44 }
45 isShuttingDown = true
46
47 log('info', 'Shutting down Discord bot...', { exitCode })
48
49 if (discordClient) {
50 try {
51 log('info', 'Destroying Discord client...')
52 discordClient.destroy()
53 log('info', 'Discord client destroyed')
54 } catch (error) {
55 log('error', 'Error destroying Discord client', { error: String(error) })
56 }
57 discordClient = null
58 }
59
60 if (lockHandle) {
61 log('info', 'Releasing advisory lock...')
62 await lockHandle.release()
63 log('info', 'Advisory lock released')
64 lockHandle = null
65 }
66
67 log('info', 'Shutdown complete, exiting', { exitCode })
68 process.exit(exitCode)
69}
70
71async function main() {
72 const startTime = Date.now()

Callers 2

mainFunction · 0.85
index.tsFile · 0.85

Calls 2

releaseMethod · 0.80
logFunction · 0.70

Tested by

no test coverage detected