omniEvents 2.6.2 released

I've finally released the next stable version of omniEvents. This incorporates the huge number of bugfixes. Thanks mostly to Dirk Siebnich's relentless testing, I'm confident that this version of omniEvents is by far the most stable and robust yet.

Full release notes: Version 2.6.2

Dirk wanted to use …

View comments more ...

Ambiguous String_var operator

GCC is quite pedantic, so code like this can cause problems:

CORBA::String_var s = ...
s[0] += 1;

GCC 3.3 gives the following error (twice!):

file.cc:10: error: ISO C++ says that
  `char& _CORBA_String_var::operator[](long unsigned int)'
  and `operator[]' are ambiguous even though the worst
  conversion for the …
View comments more ...

The 'Single Thread Model' is useless.

Normally a CORBA application processes each request in its own thread. So the author of a CORBA servant must always be aware that their methods may be running concurrently in multiple threads. Critical sections must be identified and locked accordingly.

Multi-threaded programming can be quite a pain, and all that …

View comments more ...

CORBA Object Lifecycle

CORBA does not have the concept of distinct client and server applications. An application may both make and receive CORBA method calls. When it makes CORBA method calls it is behaving as a 'client'. When it receives CORBA method calls it is behaving as a 'server'.

The four kinds of CORBA object.

Client Side

Object_Reference semantically …

View comments more ...