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.
The current use of PeekNamedPipe does not work properly.
As the result of the API call to PeekNamedPipe only indicates whether the call is successful but does not provide any information about the availability of data.
In the Drone program, the thread is then blocked on the "pipe.ReadStream()", preventing the loop to operate.
I changed it to effectively check the number of bytes available.
Also, I added a throw when the call is not succeeding which will enable to properly close the communicator using the OnException event (I think it was already working because the pipe.ReadStream throws an exception when the pipe is closed).