synchronized blocks

Hi

Ich use synchronized( mutex ) for GLSelect picking. The renderOnce() method of the Renderer class starts a syncronized block with the current VirtualUniverse instance as the mutex. When a GLSelect picking is started by Canvas3D.pick*( … ) the picking code is syncronized with the universe, too, but the rendering code is not. This works fine so far.

But in BSPLoaderTest this runs into a deadlock. It seems like it only runs into a deadlock, when the Renderer holds the lock and Cenvas3D.pick() waits for it. The other way round it doesn’t seem to run into a deadlock.

Could please somebeody have a look on it?

Marvin