Three of us have reported success with running the 3.2.16 beta version for Windows. You can never say never, particularly when it’s a threading problem. As I noted previously, Gtk File descriptors (fd) are not the same as Ruby fd FOR WINDOWS. After chasing down the rabbit holes and inventing failing methods for moving from one rabbit warren to another I had one of those blindingly obvious in retrospect insights.
I don’t have to run my own poll loop on Windows. In fact, the pool loop on Linux is probably there for the days gone by of Green Threads. Those days won’t be coming back. Every one has native threads and multiple cores (except my Raspberry pi) Let the default GTK thread do it’s thing which synchronously calls most of the Shoes code. It’s only additional Ruby threads initiated by Shoes (rarely) or the users script that makes threading calls that needs a wake call to run and I can trigger that with a gtk_timeout function that calls rb_thread_schedule().
CPU dropped from 100% to negligible. The hang disappeared and we all live happy in the land of milk and honey dancing polka’s with the unicorns and leprechauns.
Obviously this will be the major bug fix for the upcoming Shoes 3.2.16 but I want to finish restoring the packager before a general release of 3.2.16 – just some osx work left – how many days could that take?
If you can’t wait for the Windows hang fix, you can find the beta directory from the downloads tab at the top of the screen.