You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix critical issues from code review
Fixes #1: Thread safety - read Tkinter vars in main thread
- All StringVar reads now happen in run_optimizer() before spawning worker
- Worker receives parameters as dict argument (thread-safe)
Fixes #2: Add cancellation support to pattern generation
- generate_patterns() now accepts optional stop_event parameter
- Checks for cancellation every 5000 iterations in 2-pipe loop
- Checks for cancellation every 10000 iterations in 3-pipe loop
- Returns partial patterns on cancellation for graceful exit
Fixes #3: Kill CBC subprocess on cancel
- Added _kill_solver_processes() to terminate orphan CBC processes
- Called on cancel button click and window close
- Uses psutil to find and terminate CBC processes
Fixes #4: Add Windows paths to fix_cbc_permissions
- Added win/64 and win/32 paths for CBC solver
- Added documentation about Windows chmod behavior
Issue #5 (memory optimization) deferred - current implementation adequate
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>