omniORB 4.0.6 bugs

The following bugs in omniORB 4.0.6 have been fixed. Update from CVS to get the fixes.

Summary: Per-thread data could be released from a different thread (bug number 1)
Date: Mon Apr 25 19:14:24 BST 2005
Description: This caused problems in some situations. Per-thread data is now always released from the thread it belongs to.

Summary: Segfault in omniidl (bug number 2)
Date: Tue May 3 11:08:59 BST 2005
Description: Trying to redefine built-in CORBA module types led to a segfault instead of an error.

Summary: Race condition in POA destroy (bug number 3)
Date: Sun May 22 13:31:51 BST 2005
Description: Multiple threads creating and destroying POAs could conflict.

Summary: Async worker problem (bug number 4)
Date: Fri Jul 22 12:18:42 BST 2005
Reported by: Hartmut Raschick
Description: A problem with condition variable handling meant that a worker thread could add itself to the idle list more than once, leading to a later crash.
Link for this bug:

Summary: Floating point marshalling (bug number 5)
Date: Fri Jul 22 17:56:07 BST 2005
Description: Floating point values could become corrupted upon marshalling with some compilers. This is due to strict aliasing interacting with the optimiser.

Summary: Multiple shutdown issues (bug number 6)
Date: Sun Nov 20 15:31:36 GMT 2005
Description: Shutdown suffered from a number of problems, especially on Windows.

Summary: Main thread dispatch block (bug number 7)
Date: Fri Dec 16 12:18:21 GMT 2005
Reported by: Fabrice Ferrand
Description: Threads waiting for a main thread dispatch could block for ever.