From 232dfc41d41390bfffa75ec2ed065c109fa03a0e Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Sun, 13 Nov 2011 09:27:53 +0100 Subject: Imported nxcomp-3.5.0-2.tar.gz Summary: Imported nxcomp-3.5.0-2.tar.gz Keywords: Imported nxcomp-3.5.0-2.tar.gz into Git repository --- nxcomp/CHANGELOG | 4 ++++ nxcomp/Proxy.cpp | 19 ++++++++++++++++++- nxcomp/ServerProxy.cpp | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/nxcomp/CHANGELOG b/nxcomp/CHANGELOG index df10c85ce..b7ef0d97a 100644 --- a/nxcomp/CHANGELOG +++ b/nxcomp/CHANGELOG @@ -1,5 +1,9 @@ ChangeLog: +nxcomp-3.5.0-2 + +- Fixed TR11H02398. Solved a race condition when creating channels. + nxcomp-3.5.0-1 - Opened the 3.5.0 branch based on nxcomp-3.4.0-7. diff --git a/nxcomp/Proxy.cpp b/nxcomp/Proxy.cpp index 347dd5add..3b4df7eb6 100644 --- a/nxcomp/Proxy.cpp +++ b/nxcomp/Proxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMP, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ @@ -1625,6 +1625,23 @@ int Proxy::handleControlFromProxy(const unsigned char *message) int channelId = *(message + 2); + // + // Check if the channel has been dropped. + // + + if (channels_[channelId] != NULL && + (channels_[channelId] -> getDrop() == 1 || + channels_[channelId] -> getClosing() == 1)) + { + #ifdef TEST + *logofs << "Proxy: Dropping the descriptor FD#" + << getFd(channelId) << " channel ID#" + << channelId << ".\n" << logofs_flush; + #endif + + handleDrop(channelId); + } + // // Check if the channel is in the valid // range. diff --git a/nxcomp/ServerProxy.cpp b/nxcomp/ServerProxy.cpp index 404dd5123..0a72fc301 100644 --- a/nxcomp/ServerProxy.cpp +++ b/nxcomp/ServerProxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMP, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3