Conversation
…e-flag Adds possibility to configure failure flag
Add nonzero win32 exit code when stopping service in ensure block
|
I don't remember why I closed it honestly, as we are still using that "patch" on our side to prevent the service from timing out |
|
|
Thanks for your quick response! I thought it could be caused by using none-ruby threads, and I have made a PR #85. I have confirmed that inserting
|
|
This seems to track with #84 and the race around service management, but I will say that sleep as a race condition breaker makes me generally nervous, because without actually addressing the race, there's likely to be a set of systems where the race triggers anyhow, particularly under load. That having been said: I suspect at least part of this is needing the equivlent of a thread.yield (think pthreads yield, not ruby yield) rather than busy waiting to allow for whatever set of locks are being held in that race, because I was totally able to reproduce the behaviour, and this did seem to fix it every single time. So there is that, my inclination, is that in the absense of a better solution, this makes sense to do. The PR text says just the sleep() stuff, but I do see a bunch of other changes in there - those changes do seem to make sense to me too, to be honest, but it would be good to enumerate what they're doing too and why they're doing it |
Oh that's because I started my sleep change on top of my collegue's changes which are actually coming from #82 and they just got brought foward in my PR I'll rebase just my commit, as there is already another MR just focusing on those other changes already |
|
I (the colleague mentioned above 😄 ) can also just double-confirm that these issues which this MR solves indeed started happening pretty much with our upgrade to ruby 3. |
|




Description
Using some black magic with sleep(0.1) to give some breathing room for a process check for windows, surprisingly allowing our service to boot in no time instead of timing out for not clear reason