Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove synchronization when starting Linux processes. #161

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bturner
Copy link
Collaborator

@bturner bturner commented Dec 14, 2024

Since NuProcess on Linux made the switch to using the JVM's own process start logic, it's likely this synchronization is just a vestigial safeguard.

Starting processes with run(), on Linux, has always allowed for concurrent launches, and some clients use that heavily. That reinforces the sense that the start() synchronization isn't actually necessary.

This removes the synchronized block and adds a heavily threaded test when processes are started concurrently.

fixes #159

Since NuProcess on Linux made the switch to using the JVM's own
process start logic, it's likely this synchronization is just a
vestigial safeguard.

Starting processes with run(), on Linux, has always allowed for
concurrent launches, and some clients use that heavily. That
reinforces the sense that the start() synchronization isn't
actually necessary.

This removes the synchronized block and adds a heavily threaded
test when processes are started concurrently.

fixes #159
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.

Reason for the Synchronized call in LinProcessFactory
1 participant