Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

修复 main_ctx_init 在特殊情况下误判 oldpid 运行#722

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
House-Men wants to merge1 commit intoithewei:master
base:master
Choose a base branch
Loading
fromHouse-Men:patch-7

Conversation

@House-Men
Copy link
Contributor

@House-MenHouse-Men commentedApr 15, 2025
edited
Loading

在某些特殊条件下存在 上一次进程意外结束导致没有删除pid文件,并且系统重启下次使用时历史残留的pid文件恰好是其他运行中的进程从而导致误判运行中。
Windows我采用的利用被打开占用中的文件无法remove成功特性规避了此类现象。
Unix我采用的利用文件写锁进程互斥特性规避了此类现象。
同时修复了Windows单纯OpenProcess判断进程结束存在误判现象,变更为GetExitCodeProcess + STILL_ACTIVE解决。

另外支持了下 main_ctx_init 自定义设置 run_dir
因为不是所有程序制作的安装包默认所在运行路径都具备写入权限,Windows通常是SHGetKnownFolderPath获取用户AppData目录,Linux则是getpwuid_r获取的用户家目录,所以支持调用main_ctx_init前自定义设置run_dir很重要。

@House-MenHouse-Menforce-pushed thepatch-7 branch 2 times, most recently from5b59480 toe8b593aCompareApril 17, 2025 11:52
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

@House-Men

[8]ページ先頭

©2009-2025 Movatter.jp