In the documentation OmniORB states it is fully mutlithreaded. Question: Does this mean I must mutex lock and unlock in data sensitive areas in a implementation e.g. void foo::bar() { pthread_mutex_lock(&lock); globaldata++; pthread_mutex_unlock(&lock); } Or is data synchronization happening in the upcall implicitly by the ORB? (Is the call bar synchronized for you by omni). Thanks in advance, Martin Gee