-
-
Notifications
You must be signed in to change notification settings - Fork 301
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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows client-server fixes #1230
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I added a question below. Does this PR really fix the server mode on Window, so that you no longer need the --no-server
settings?
It works 99% of the time.
That's because there should only be one locked pipe. But after that it works fine. 馃槃 |
@lefou I think we can take inspiration from Gradle deamon docs. Then, it doesn't seem logical to lock on |
Thanks for this PR. I'll merge it. Nice to have mill server support on Windows. @sake92, regarding the daemon: The mill daemon does not take multiple clients at once. Also I think we don't abstract the current working directory away in all cases, esp. when spawning sub-processes. So for having a shared daemon there is some more work to do... |
Only one thing in
ClientServerTests
doesn't work currently.Maybe someone will find a fix in the future... 馃槃
I tried many things, even reimplementing the whole named pipes thing with JNA...
But it boils down to
read/write
throwing an exception instead of returning-1
...Since the read is done infinitely in a separate thread, it doesn't know when the output from server is done.
So when a connection breaks, we should just ignore it, and not
System.exit(1);
as currently.