Skip to content

fix: 优化 _save_profile 原子写入,避免产生损坏的 profile.json - #35

Merged
AnnaSuSu merged 2 commits into
AnnaSuSu:mainfrom
NIKOwQ:fix/atomic-save-profile
Aug 4, 2026
Merged

fix: 优化 _save_profile 原子写入,避免产生损坏的 profile.json#35
AnnaSuSu merged 2 commits into
AnnaSuSu:mainfrom
NIKOwQ:fix/atomic-save-profile

Conversation

@NIKOwQ

@NIKOwQ NIKOwQ commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

改动说明

优化 _save_profile 用户配置持久化逻辑,实现跨平台原子写入。
当程序意外终止、崩溃时,不会生成半截损坏、无法解析的 profile.json。

主要改进:

  1. 使用同目录临时文件 + os.replace() 原子替换
  2. flush + fsync 强制落盘,降低断电损坏风险
  3. 兼容 Windows 文件句柄占用问题
  4. finally 自动清理残留临时 .tmp 文件

全部使用 Python 标准库,不新增任何第三方依赖。

@AnnaSuSu
AnnaSuSu merged commit d80201f into AnnaSuSu:main Aug 4, 2026
2 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