Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As of yet, a
Process
instance can't free memory.The built-in callback has a self-reference to the intance not cleared after instance destruction.
I've tried to change both
buildCallback
and https://github.com/symfony/process/blob/v2.7.6/Process.php#L1373 usage to avoid self-referencing, but it can't be done without breaking BC, and the memory issue is still there.A simple test script (that obiously can't be embedded in unit-tests)
Before:
After:
Ok, in this simple scenario 4 MB of RAM is nothing, but in our business app full of IOC where
unset
-ting is hard, our RAM explodes.After
stop()
, the callback is no longer necessary.