Skip to content

Commit 8c5ee5d

Browse files
committed
fix
1 parent 0f795cb commit 8c5ee5d

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/cli/assemblies-create.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,8 @@ function dismissStaleJobs(jobEmitter: EventEmitter): MyEventEmitter {
484484
const emitter = new MyEventEmitter()
485485

486486
const jobsPromise = new JobsPromise()
487+
// Errors are already caught in the promises passed to add(), so use a no-op handler
488+
jobsPromise.setErrorHandler(() => {})
487489

488490
jobEmitter.on('end', () => jobsPromise.allSettled().then(() => emitter.emit('end')))
489491
jobEmitter.on('error', (err: Error) => emitter.emit('error', err))
@@ -697,6 +699,11 @@ export default async function run(
697699
// AbortController to cancel all in-flight createAssembly calls when an error occurs
698700
const abortController = new AbortController()
699701

702+
// Set error handler before subscribing to events that might call add()
703+
jobsPromise.setErrorHandler((err: unknown) => {
704+
outputctl.error(err as Error)
705+
})
706+
700707
emitter.on('job', (job: Job) => {
701708
activeJobs.add(job)
702709
const inPath = job.in ? ((job.in as fs.ReadStream).path as string | undefined) : undefined
@@ -796,10 +803,6 @@ export default async function run(
796803
}
797804
})
798805

799-
jobsPromise.setErrorHandler((err: unknown) => {
800-
outputctl.error(err as Error)
801-
})
802-
803806
emitter.on('error', (err: Error) => {
804807
// Abort all in-flight createAssembly calls to ensure clean shutdown
805808
abortController.abort()

0 commit comments

Comments
 (0)