CORBA stream buffering
Brought to you by:
ferret1964,
twiechmann
In the routine VESCBMPU, the global array ^VESCBW is
used as a buffer for all CORBA streams.
The code uses %obj as top-level subscript into this
array, which differentiates between different EsiObjects
sessions accessed by a client. This convention can run
into trouble under heavy-duty usage.
When multiple processes are sending CORBA messages
concurrently, they may share the same %obj value, so a
process can clobber somebody else's buffer after they
have populated the buffer and before they have sent
the buffer out on the TCP connection.
A suggested fix is to change the top-level subscript for
^VESCBW uniformly from %obj to $J.