Tech Note #40: Initializing CORBA Applications
1998 Bionic Buffalo Corporation; All Rights Reserved.
1 November 1998
2 of 5
Upon return from a call to an object method, the
element has one of the three values
elements in the Environment structure are defined by the implementor, and are opaque to the
Although examples in the Specification declare the Environment as a static or global structure,
there is no explicit guidance on how the Environment is to be initialized. Furthermore, static or
global structures will not work in multithreaded applications, since a thread would expect its
own unique value for
Bionic Buffalo’s CORBA implementation provides a separate instance of the Environment for
each thread. To acquire its own instance of the Environment, a thread must call
. (This procedure is Bionic Buffalo’s proprietary solution to the problem
of Environment acquisition and initialization.) The prototype is:
** ev1 ) ;
parameter specifies details for threaded or multiprocessor environments. For
almost all purposes, the
parameter can be specified as
. The use of
discussed elsewhere in the documentation.
parameter to return a pointer to the
structure. This pointer is used subsequently in the following steps.
returns zero. Otherwise, it returns an error code
indicating why the operation failed.
Initializing the ORB
The Specification defines an ORB initialization procedure as follows:
* env );
Each implementation may define different values for these parameters. In general:
argument is used to select from among different possible ORBs. If the
string is empty, then the default ORB is selected.