ForNeVeR / ForNeVeR/ProcessDoctor

Support for temporary process duplicates

Open
#14 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
C#
Stars
22
Forks
2
PR merge metrics
No merged PRs in 30d

Description

ProcessDoctor operates under condition of _eventual_ process tree consistency, which means that for a short period of time, there could be some artifacts like processes with no parent (which will come afterwards), or two processes with the same id.

That could happen if the process enumeration is not done on the process list snapshot, but on a live process list, e.g.

1. Process with `id = 42` starts.
2. We start to enumerate the processes and see the process.
3. Process with `id = 42` terminates.
4. We proceed to enumerate the processes.
5. A new process gets started, and `pid = 42` gets reused.
6. We still enumerate the processes and see the newly started process.

We should be able to properly deal with it somehow.

See `TODO[#14]` in the code.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.