Darwin OpenJDK 7 Binaries - Not Working With SWT

Mike Swingler swingler at apple.com
Tue Oct 28 09:34:57 PDT 2008


On Oct 27, 2008, at 6:43 PM, Michael Franz wrote:

> Mike,
>
> If the runloop is running on Thread 0, can a thread that is not  
> thread 0 pull events off the runloop by using  
> NSApplication.sharedApplication(). nextEventMatchingMask() ?  Where  
> events are the keyboard and mouse events.

Sorry, nope. I'm pretty sure this method has been tried by the SWT  
folks.

> How does one 'park' thread 0?

pthread_mutex_lock()/pthread_cond_wait()/pthread_cond_signal(). When  
we load the AWT, we simply signal Thread 0, to continue and start  
pumping the event loop. If the AWT never comes up, the thread stays  
parked indefinitely. This is actually just a modification to how the  
JVM starts when you request a custom thread stack size for the main  
thread.

> Michael
>
> On Sun, Oct 12, 2008 at 11:21 AM, Mike Swingler <swingler at apple.com>  
> wrote:
>
> You can create runloops on other threads, but their sources will be  
> setup by you. Only the runloop on Thread 0 receives keyboard and  
> mouse events, which is why -XstartOnFirstThread is necessary when  
> user-space code wants to pump the event loop. Otherwise, Thread 0  
> needs to be parked until it's time for the AWT to startup, and start  
> running the show.
>
> Cheers,
> Mike Swingler
> Java Runtime Engineer
> Apple Inc.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/bsd-port-dev/attachments/20081028/3daf20ab/attachment.html 


More information about the bsd-port-dev mailing list