Skip to content

Rebase on master to include deadlock fix - #317

Merged
dsn27 merged 2 commits into
claude/cadability-dxf-support-5ie3hxfrom
master
Jun 27, 2026
Merged

Rebase on master to include deadlock fix#317
dsn27 merged 2 commits into
claude/cadability-dxf-support-5ie3hxfrom
master

Conversation

@dsn27

@dsn27 dsn27 commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

claude and others added 2 commits June 26, 2026 19:45
…cellation

When AbortBackgroundRecalc() is called before DoBackgroundRecalcDisplayList
creates recalcDone, the abort cannot signal it. If workers subsequently see
the cancellation at the early-exit checks and return without removing
themselves from runningThreads, recalcDone.Count never reaches zero and
recalcDone.Set() is never called, causing WaitOne() to block forever and
t.Join() to hang indefinitely.

Move the lock(runningThreads) cleanup block outside the cancellation guard
so every queued worker unconditionally removes itself from runningThreads
and signals recalcDone when it is the last one — regardless of whether it
performed any actual work.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014bFdnkBE83221SmUkyXHze
…k-fix-to5ymn

Fix deadlock: ensure workers always remove from runningThreads on cancellation
@dsn27
dsn27 merged commit ca67b7d into claude/cadability-dxf-support-5ie3hx Jun 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants