
RELEASE NOTES for MICO/mt - version 2000-01-10
----------------------------------------------

This is the second alpha release of MICO-mt.
It represents a step on the long way to a
full multi-threaded MICO. Don't expect it
to work completely or flawless.

------------------- WARNING -----------------------------

  PLEASE don't send "it won't work"-style bug-reports.
         those will be redirected >/dev/null
 
         If it's broken - fix it !

         or provide sufficient info, 
     so that we can hunt the problem down. 

---------------------------------------------------------

This release has been tested on HP/UX 11 using HP's aCC and
Linux 2.3.25 using GCC-2.95.2 and GLIBC 2.1
It's not known if this release will work with
other compilers and/or lib-c versions.

Features:

- pthread, dce-thread, pththreads, solaris-threads support
- multi-threaded I/O (one accept() thread per Socket, one read() and one
  write() thread per Socket)
- limited support for multi-threaded CORBA invocations

Known Problems / Limitations:

- nameservices may be completly broken (Andy was there)
- configure does only superficial tests for pthreads
- thread support only for pthread draft 10 and LinuxThreads
- pth and solaris thread support is only theoretic
- the ORB, BOA and POA might not be completely thread safe at the moment
- POA thread policies are not yet honored
- micod is broken
- CORBA Services are not thread safe
- ORB shutdown is broken
- tons of other unknown bugs  ;-)

NEW DEBUG OPTIONS
-----------------

The mt version uses a lot of debugcode at the moment.
Much of this will go away once we are sure that the bulk of changes is
stable enough. To be able to control debugging better the -ORBDebugLevel
options is now a bit mask and we have introduced a -ORBDebugModule options
being also a bit mask.

ORBDebugLevel:

1 - simple debug output
2 - trace function calls
4 - dump
8 - profiling outdump

ORBDebugModule

1   - Global
2   - Support
4   - Thread
8   - ORB
16  - POA
32  - GIOP
64  - IMR
128 - IR

HOW TO COMPILE
--------------

MICO/mt needs a thread-safe STL implementation. We have not yet verified
if MICO's mini-stl is thread safe or not.
To be safe, you should use your system supplied STL.

To build MICO/mt for Linux do:

	./configure --enable-threads
	make

To build MICO/mt for HP/UX 11 do (for csh):

	setenv CC 'aCC -D_INCLUDE_LONGLONG'
	setenv CXX aCC
	./configure --enable-threads
	make

The HP/UX 11.0 configuration uses/relies upon the system supplied
Rogue Wave STL.

Have fun - but don't get caught!


    Andreas
