help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] [PATCH] fix GTK+ under Windows


From: Paolo Bonzini
Subject: [Help-smalltalk] [PATCH] fix GTK+ under Windows
Date: Tue, 13 Apr 2010 19:34:56 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100301 Fedora/3.0.3-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.3

The problem was that the under Windows message queues are per-thread. So, MsgWaitForMultipleObjects has to run in the thread that created the window (i.e. the VM thread). Since that is not possible, gst has to resort to polling. For 3.2 I'm always going to poll, while in 3.3 I'll poll while the VM is busy and not while it's idle.

This costs something, but the polling is only taking 2% of CPU on a Core2 running at 800 MHz (I was in energy-saving mode :-)) under Wine, so it's probably unnoticeable. I didn't see noticeable delays in GUI action, either. Of course, there's no polling under X11 and Mac OS X.

I haven't tested it under native Windows, but I don't see why it shouldn't work.

I committed this patch and also the binary package generator for Windows. It requires Fedora _and_ Wine, and it's unlikely to work on any machine but mine, but I'll gladly provide help if anyone wants to take a look. Or more likely, I'll gladly provide a pre-built package if anyone wants to test it.

Paolo

Attachment: gtk-win32.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]