[Ace-users] Discarded calls using Receive-Wait(RW) wait strategy
jochen.rothenbacher at siemens.com
Thu Oct 25 08:17:35 CDT 2007
ACE VERSION: 5.5.6
HOST MACHINE and OPERATING SYSTEM:
sun solaris 10
TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
COMPILER NAME AND VERSION (AND PATCHLEVEL):
CC: Sun C++ 5.7 Patch 117830-08 2006/07/12
THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
specific file, simply state which one]:
THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
use a link to a platform-specific file, simply state which one
(unless this isn't used in this case, e.g., with Microsoft Visual
CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
(used by MPC when you generate your own makefiles):
DOES THE PROBLEM AFFECT:
Discarded calls using Receive-Wait(RW) wait strategy
In a recovery scenario a server process reuses the socket port
of the previous server.
In a scenario with one server and one client process, the client
successfully did a call to the server process. The CORBA
implementation internally stores the port address of the server
Now the server process is restarted. The process comes up and gets
the same server port address as the previous process.
Next the client tries a call to the server process and the
writev() call to the port address succeeds because of its buffer.
The read() of the client now fails with ECONNRESET and the CORBA
In the next call the client does a connect() which prevents
further failing calls.
Is it possible to avoid the reuse of the ports?
More information about the Ace-users