(session: Active)
| 114 | } |
| 115 | |
| 116 | function teardown(session: Active) { |
| 117 | for (const listener of session.listeners) listener.dispose() |
| 118 | session.listeners.length = 0 |
| 119 | if (session.info.status === "running") { |
| 120 | try { |
| 121 | session.process.kill() |
| 122 | } catch {} |
| 123 | } |
| 124 | notifyEnd(session, {}) |
| 125 | } |
| 126 | |
| 127 | yield* Effect.addFinalizer(() => |
| 128 | Effect.sync(() => { |