background image
Bionic Buffalo Tech Note #49: Thread Support in the 
 Object Request Broker
 Global Environment
Note: The information in this section is implementation specific, and portable applications should not
rely on it.
All state information, data structures, tables, and run-time information owned by 
 are kept
in, or linked from, the global environment. The global environment is a structure, so-named to
distinguish it from the individual thread environments. By following pointers from the global
environment, all of the thread environments can be found, as can the tables allowing lookup of object
information from object references. The global environment is found by dereferencing a global pointer.
A mutex protects the pointer and the linked global environment data structures. 
A thread's 
 is a substructure within the associated thread environment
A key (from 
) is associated with the addresses of the thread environment
structures. Each thread can locate its own thread environment structure (if any) by applying
 to the key. This is cheaper than walking the data structures from the
global environment, and doesn't require that the global environment be locked during the lookup
This Tech Note may be reproduced and distributed (including by means of the Internet) without
payment of fees or without notification to Bionic Buffalo, as long as it is not changed, altered, or
edited in any way. Any distribution or copy must include the entire Tech Note, with the original title,
copyright notice, and this paragraph. For available Tech Notes, please see the Bionic Buffalo web site
at, or e-mail PGP/GnuPG key
a836 e7b0 24ad 3259 7c38 b384 8804 5520 2c74 1e5a
Page 4 of 4