CocoaPods / fourflusher

A library for interacting with Xcode simulators.
MIT License
33 stars 15 forks source link

Change stream processing to wait for threads #19

Closed mfiebig closed 5 years ago

mfiebig commented 5 years ago

This should fix #17

The error was reliably reproducable by removing executable.rb:173 (sleep(0.01)). It looks like the sleep was there to get the threads to finish. The replacement with Thread.join should reliably wait for both threads to process the streams.

I'm no expert concerning ruby, but at least the fix looks reasonable to me. Please tell me if I can improve it further (I tried to write a test for this, but failed to replace Open3.popen3 within the self.popen3 method.) :)

faken commented 5 years ago

👌

dnkoutso commented 5 years ago

Can you add a changelog entry?

mfiebig commented 5 years ago

done 👌

mfiebig commented 5 years ago

I would very much like to see that fix in cocoapods in 1.7. Any way I can help to make that happen @dnkoutso ?

dnkoutso commented 5 years ago

@mfiebig one more thing, please point 2-2-stable branch as we will most likely make a 2.2.1 release and not a 2.3.0 since this is a bug fix.

mfiebig commented 5 years ago

@dnkoutso done 👍

dnkoutso commented 5 years ago

Once conflict is resolved it should be good to merge!

mfiebig commented 5 years ago

Should be resolved now

dnkoutso commented 5 years ago

This PR was merged in 2-2-stable but then was cherry-picked in 2-3-stable. 2-2-stable was then pointed back to what it was before because this change never shipped in 2.2.x release.

This change shipped in 2.3.1 release.