Only start the stream monitoring after events are send out #1765
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.
Currently it is almost impossible to capture the full binary stream of a process even if one adds a listener right after creation of the stream proxy. The reason is that the streams are immediately started to being read in the constructor. The code currently uses some caching in place but this only works reliable for a single listener and is then reset afterwards having other missing data depending on how fast they can register. Even worse there is a small chance that after registration and before reading the buffer some bytes are received and then is processed before the buffer contents.
This now creates a new constructor that only creates the stream but do not start them. Instead users must call the method
startMonitoring
for this. TheRuntimeProcess
now uses this constructor to delay the start of stream reading unless all notifications are performed so other parties can register accordingly.See