Skip to content

Conversation

@Harinus
Copy link
Contributor

@Harinus Harinus commented May 25, 2018

Greetings profesorfalken,

I am still using your library and wanted to share some improvements I did. This is basically a replacement for #22. See the two commit messages below for details and the description of the original PR.
I have noticed your comments and simplified my changes. However those are quite important IMO for error and timeout handling and already very well tested with about 0.5 million executions in my environment.

There is just one thing I noticed and that can possibly not be fixed: Once someone uses "throw" or "return" in their powershell script it will terminate it and therefore never read the end tag from the stream. (Affects both your and my version). Maybe add that to the documentation just in case.

Hopefully this can be merged so, I can switch back to the main branch and get rid of my custom version.

Best regards,
Harinus

Harinus added 2 commits April 27, 2018 14:19
Added logic to detect blocked shells
Fixed Temp file deletion
Re-Design Timeout and Error detection
-Properly wait for the end of both input Streams
-Push End_Script_String also to stderr
Added code for closing of blocked shells (jna or java9 approach)
Fixed visibility of executeScript(BufferedReader srcReader, String parms)
Removed Timeout Handling.
The PowerShell class itself will timeout in Line:
https://github.com/Harinus/jPowerShell/blob/aa8d863643281bbf7b964a47026ee8a956b220d7/src/main/java/com/profesorfalken/jpowershell/PowerShell.java#L216
Because the reading takes place while (!result.isDone() || !resultError.isDone()) in the seperate threadpool.
No longer rely on reader.ready(), we know we will get the Script end tag.
@profesorfalken
Copy link
Owner

Hi,
I will check your branch

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants