Hi,
Christoph Fuenfzig wrote:
Hi,
we have problems when terminating a ClusterWindow with ConnectionType
"Multicast"
(Windows 2000, ICL 7.1).
The application always throws an exception "sendto: WSAEADDR-NOTAVAIL" on termination of the
ClusterWindow.
The problem is in MulticastConnection::stopAliveThread:
This code is from a time, when the Thread class had no kill or
terminate funktion.
I'll add a try/ catch block or remove the whole funktion an replace it
with _aliveThread->kill
void MulticastConnection::stopAliveThread()
{
char tag;
if(_aliveThread)
{
_stopAliveThread=true;
DgramSocket s;
s.open();
s.sendTo(&tag,
sizeof(tag),
SocketAddress(_aliveSocket.getAddress()));
BaseThread::join( _aliveThread );
//!! ThreadManager::the()->removeThread(_aliveThread);
_aliveThread=0;
if(_aliveSocket.waitReadable(0))
_aliveSocket.recv(&tag,sizeof(tag));
s.close();
}
}
The address SocketAddress(_aliveSocket.getAddress())
seems to be invalid :-(
Is this a known problem?
As far as I know, it works fine, but I think most people are using
Linux for clustering.
Thanks,
Christoph
Marcus
|
- Re: [Opensg-users] Problem Terminating ClusterWindow wi... Marcus Roth
-