Menu

#93 CORBA stream buffering

v4.0
open
EsiORB (1)
5
2012-09-19
2003-07-22
David Ellis
No

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.

Discussion


Log in to post a comment.

Monday.com Logo