diff options
author | Caleb Tennis <caleb@gentoo.org> | 2009-06-21 13:26:17 +0000 |
---|---|---|
committer | Caleb Tennis <caleb@gentoo.org> | 2009-06-21 13:26:17 +0000 |
commit | 15b806d2bce83297281a23cc12b76b3688a375d6 (patch) | |
tree | ccdd241f53640f84165d3029aae5b9f31a994d55 /dev-cpp | |
parent | version bump (diff) | |
download | gentoo-2-15b806d2bce83297281a23cc12b76b3688a375d6.tar.gz gentoo-2-15b806d2bce83297281a23cc12b76b3688a375d6.tar.bz2 gentoo-2-15b806d2bce83297281a23cc12b76b3688a375d6.zip |
Remove old version of Ice, per #274877
(Portage version: 2.1.6.13/cvs/Linux i686)
Diffstat (limited to 'dev-cpp')
-rw-r--r-- | dev-cpp/Ice/ChangeLog | 10 | ||||
-rw-r--r-- | dev-cpp/Ice/Ice-3.3.0-r1.ebuild | 83 | ||||
-rw-r--r-- | dev-cpp/Ice/Ice-3.3.0.ebuild | 75 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-Makefile.patch | 68 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-p1.patch | 51 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-p3.patch | 17 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-p4.patch | 57 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-p5.patch | 25 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-p6.patch | 41 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-p7.patch | 475 | ||||
-rw-r--r-- | dev-cpp/Ice/files/Ice-3.3.0-p8.patch | 232 |
11 files changed, 9 insertions, 1125 deletions
diff --git a/dev-cpp/Ice/ChangeLog b/dev-cpp/Ice/ChangeLog index 7fbb61b746dc..b49b683c3c46 100644 --- a/dev-cpp/Ice/ChangeLog +++ b/dev-cpp/Ice/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-cpp/Ice # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-cpp/Ice/ChangeLog,v 1.19 2009/03/28 23:35:27 caleb Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-cpp/Ice/ChangeLog,v 1.20 2009/06/21 13:26:17 caleb Exp $ + + 21 Jun 2009; Caleb Tennis <caleb@gentoo.org> -Ice-3.3.0.ebuild, + -Ice-3.3.0-r1.ebuild, -files/Ice-3.3.0-Makefile.patch, + -files/Ice-3.3.0-p1.patch, -files/Ice-3.3.0-p3.patch, + -files/Ice-3.3.0-p4.patch, -files/Ice-3.3.0-p5.patch, + -files/Ice-3.3.0-p6.patch, -files/Ice-3.3.0-p7.patch, + -files/Ice-3.3.0-p8.patch: + Remove old ebuild version *Ice-3.3.1 (28 Mar 2009) diff --git a/dev-cpp/Ice/Ice-3.3.0-r1.ebuild b/dev-cpp/Ice/Ice-3.3.0-r1.ebuild deleted file mode 100644 index ee6f3df3c5b8..000000000000 --- a/dev-cpp/Ice/Ice-3.3.0-r1.ebuild +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-cpp/Ice/Ice-3.3.0-r1.ebuild,v 1.1 2008/11/11 14:56:34 caleb Exp $ - -inherit eutils - -DESCRIPTION="ICE middleware C++ bindings" -HOMEPAGE="http://www.zeroc.com/index.html" -SRC_URI="http://www.zeroc.com/download/Ice/3.3/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="ncurses test debug" - -RDEPEND=">=dev-libs/expat-2.0.1 - >=app-arch/bzip2-1.0.4 - >=dev-libs/openssl-0.9.8g - =sys-libs/db-4.6.21* - =dev-cpp/libmcpp-2.6.4" - -DEPEND="${RDEPEND} - ncurses? ( sys-libs/ncurses sys-libs/readline ) - test? ( >=dev-lang/python-2.4 )" - -S=${WORKDIR}/${P}/cpp - -pkg_setup() { - if built_with_use sys-libs/db nocxx; then - eerror "sys-libs/db must be compiled with C++ support!" - eerror "Remove the 'nocxx' use flag and try again." - die "Fix use flags and re-emerge" - fi -} - -src_unpack() { - unpack ${A} - cd "${S}" - - epatch "${FILESDIR}"/${P}-p1.patch - epatch "${FILESDIR}"/${P}-p3.patch - epatch "${FILESDIR}"/${P}-p4.patch - epatch "${FILESDIR}"/${P}-p5.patch - epatch "${FILESDIR}"/${P}-p6.patch - epatch "${FILESDIR}"/${P}-p7.patch - epatch "${FILESDIR}"/${P}-p8.patch - - epatch "${FILESDIR}"/${P}-Makefile.patch - - MAKE_RULES="${S}/config/Make.rules" - - #if use amd64; then - # sed -i -e "s:^#LP64:LP64:g" "${MAKE_RULES}" \ - # || die "Failed to set lib64 directory" - #fi - - if ! use ncurses; then - sed -i -e "s#^USE_READLINE.*#USE_READLINE ?= yes#g" \ - "${MAKE_RULES}" || die "Failed to set no readline" - fi - - if ! use debug; then - sed -i -e "s:#OPTIMIZE:OPTIMIZE:" \ - "${MAKE_RULES}" || die "Failed to remove debug" - fi - - sed -i -e \ - "s:.*CXXFLAGS[^\+]*\=\s:CXXFLAGS = ${CXXFLAGS} :g" \ - "${MAKE_RULES}.Linux" || die "CXXFLAGS patching failed!" -} - -src_compile() { - emake || die "make failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "Install failed" - cp -dpR "${S}"/../slice "${D}"/usr/share/Ice -} - -src_test() { - emake test || die "Test failed" -} diff --git a/dev-cpp/Ice/Ice-3.3.0.ebuild b/dev-cpp/Ice/Ice-3.3.0.ebuild deleted file mode 100644 index d2ba03e9e9b4..000000000000 --- a/dev-cpp/Ice/Ice-3.3.0.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-cpp/Ice/Ice-3.3.0.ebuild,v 1.2 2008/08/23 18:28:46 maekke Exp $ - -inherit eutils - -DESCRIPTION="ICE middleware C++ bindings" -HOMEPAGE="http://www.zeroc.com/index.html" -SRC_URI="http://www.zeroc.com/download/Ice/3.3/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="ncurses test debug" - -RDEPEND=">=dev-libs/expat-2.0.1 - >=app-arch/bzip2-1.0.4 - >=dev-libs/openssl-0.9.8g - =sys-libs/db-4.6.21* - =dev-cpp/libmcpp-2.6.4" - -DEPEND="${RDEPEND} - ncurses? ( sys-libs/ncurses sys-libs/readline ) - test? ( >=dev-lang/python-2.4 )" - -S=${WORKDIR}/${P}/cpp - -pkg_setup() { - if built_with_use sys-libs/db nocxx; then - eerror "sys-libs/db must be compiled with C++ support!" - eerror "Remove the 'nocxx' use flag and try again." - die "Fix use flags and re-emerge" - fi -} - -src_unpack() { - unpack ${A} - cd "${S}" - - epatch "${FILESDIR}"/${P}-Makefile.patch - - MAKE_RULES="${S}/config/Make.rules" - - #if use amd64; then - # sed -i -e "s:^#LP64:LP64:g" "${MAKE_RULES}" \ - # || die "Failed to set lib64 directory" - #fi - - if ! use ncurses; then - sed -i -e "s#^USE_READLINE.*#USE_READLINE ?= yes#g" \ - "${MAKE_RULES}" || die "Failed to set no readline" - fi - - if ! use debug; then - sed -i -e "s:#OPTIMIZE:OPTIMIZE:" \ - "${MAKE_RULES}" || die "Failed to remove debug" - fi - - sed -i -e \ - "s:.*CXXFLAGS[^\+]*\=\s:CXXFLAGS = ${CXXFLAGS} :g" \ - "${MAKE_RULES}.Linux" || die "CXXFLAGS patching failed!" -} - -src_compile() { - emake || die "make failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "Install failed" - cp -dpR "${S}"/../slice "${D}"/usr/share/Ice -} - -src_test() { - emake test || die "Test failed" -} diff --git a/dev-cpp/Ice/files/Ice-3.3.0-Makefile.patch b/dev-cpp/Ice/files/Ice-3.3.0-Makefile.patch deleted file mode 100644 index ceeaab4fd48e..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-Makefile.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- config/Make.rules.orig 2008-05-21 13:39:46.000000000 -0400 -+++ config/Make.rules 2008-05-21 13:43:35.000000000 -0400 -@@ -11,13 +11,13 @@ - # Select an installation base directory. The directory will be created - # if it does not exist. - # --prefix ?= /opt/Ice-$(VERSION) -+prefix ?= /$(DESTDIR)/usr - - # - # The "root directory" for runpath embedded in executables. Can be unset - # to avoid adding a runpath to Ice executables. - # --embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR) -+#embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR) - - # - # Define OPTIMIZE as yes if you want to build with -@@ -144,10 +144,10 @@ - include $(top_srcdir)/config/Make.rules.$(UNAME) - - install_includedir := $(prefix)/include --install_docdir := $(prefix)/doc -+install_docdir := $(prefix)/share/doc/Ice-$(VERSION) - install_bindir := $(prefix)/$(binsubdir) - install_libdir := $(prefix)/$(libsubdir) --install_configdir := $(prefix)/config -+install_configdir := $(prefix)/share/Ice/config - - ifneq ($(embedded_runpath_prefix),) - runpath_libdir := $(embedded_runpath_prefix)/$(libsubdir) -@@ -162,18 +162,8 @@ - BZIP2_LIBS = $(if $(BZIP2_HOME),-L$(BZIP2_HOME)/$(libsubdir)) -lbz2 - BZIP2_RPATH_LINK = $(if $(BZIP2_HOME),$(call rpathlink,$(BZIP2_HOME)/$(libsubdir))) - --ifneq ($(DB_HOME),) -- DB_FLAGS = -I$(DB_HOME)/include -- DB_LIBS = -L$(DB_HOME)/$(libsubdir) -ldb_cxx -- DB_RPATH_LINK = $(call rpathlink,$(DB_HOME)/$(libsubdir)) --else -- ifeq ($(shell if [ -d /usr/include/db46 -a -d /usr/$(libsubdir)/db46 ] ; then echo yes; fi), yes) -- DB_FLAGS = -I/usr/include/db46 -- DB_LIBS = -L/usr/$(libsubdir)/db46 -ldb_cxx -- else -- DB_LIBS = -ldb_cxx -- endif --endif -+DB_FLAGS = -I/usr/include/db4.6 -+DB_LIBS = -L/usr/$(libsubdir) -ldb_cxx-4.6 - - EXPAT_FLAGS = $(if $(EXPAT_HOME),-I$(EXPAT_HOME)/include) - EXPAT_LIBS = $(if $(EXPAT_HOME),-L$(EXPAT_HOME)/$(libsubdir)) -lexpat ---- Makefile.orig 2008-05-21 13:42:32.000000000 -0400 -+++ Makefile 2008-05-21 13:42:50.000000000 -0400 -@@ -11,11 +11,11 @@ - - include $(top_srcdir)/config/Make.rules - --SUBDIRS = config src include test demo -+SUBDIRS = config src include - - INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir) - --install:: install-common -+install:: - @for subdir in $(INSTALL_SUBDIRS); \ - do \ - if test ! -d $$subdir ; \ diff --git a/dev-cpp/Ice/files/Ice-3.3.0-p1.patch b/dev-cpp/Ice/files/Ice-3.3.0-p1.patch deleted file mode 100644 index 91198baba5f6..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-p1.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -c -r -N Ice-3.3.0-orig/cpp/src/Slice/Util.cpp Ice-3.3.0/cpp/src/Slice/Util.cpp -*** Ice-3.3.0-orig/cpp/src/Slice/Util.cpp Tue Jun 24 10:28:04 2008 ---- Ice-3.3.0/cpp/src/Slice/Util.cpp Tue Jun 24 10:44:19 2008 -*************** -*** 49,57 **** - ++pos; - } - } -! if(result[result.size() - 1] == '/') // Remove trailing '/' - { -! result.erase(result.size() - 1); - } - return result; - } ---- 49,65 ---- - ++pos; - } - } -! -! if(result.size() > 1) // Remove trailing "/" or "/." - { -! if(result[result.size() - 1] == '/') -! { -! result.erase(result.size() - 1); -! } -! else if(result[result.size() - 2] == '/' && result[result.size() - 1] == '.') -! { -! result.erase(result.size() - (result.size() == 2 ? 1 : 2)); -! } - } - return result; - } -*************** -*** 159,164 **** ---- 167,181 ---- - } - } - -+ if(result == file) -+ { -+ // -+ // Don't return a full path if we couldn't reduce the given path, instead -+ // return the normalized given path. -+ // -+ result = normalizePath(orig); -+ } -+ - string::size_type pos; - if((pos = result.rfind('.')) != string::npos) - { - diff --git a/dev-cpp/Ice/files/Ice-3.3.0-p3.patch b/dev-cpp/Ice/files/Ice-3.3.0-p3.patch deleted file mode 100644 index bc8732c5300a..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-p3.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/cpp/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp -index e037745..8c93f22 100644 ---- a/cpp/src/Ice/ConnectRequestHandler.cpp -+++ b/cpp/src/Ice/ConnectRequestHandler.cpp -@@ -212,7 +212,10 @@ ConnectRequestHandler::abortBatchRequest() - Ice::ConnectionI* - ConnectRequestHandler::sendRequest(Outgoing* out) - { -- if(!getConnection(true)->sendRequest(out, _compress, _response) || _response) -+ // Must be called first, _compress might not be initialized before this returns. -+ Ice::ConnectionIPtr connection = getConnection(true); -+ assert(connection); -+ if(!connection->sendRequest(out, _compress, _response) || _response) - { - return _connection.get(); // The request has been sent or we're expecting a response. - } - diff --git a/dev-cpp/Ice/files/Ice-3.3.0-p4.patch b/dev-cpp/Ice/files/Ice-3.3.0-p4.patch deleted file mode 100644 index 5e89b0b0961b..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-p4.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -r -c -N ../Ice-3.3.0-old/cpp/src/Slice/Preprocessor.cpp ./cpp/src/Slice/Preprocessor.cpp -*** ../Ice-3.3.0-old/cpp/src/Slice/Preprocessor.cpp 2008-05-16 14:54:01.000000000 -0230 ---- ./cpp/src/Slice/Preprocessor.cpp 2008-08-14 11:31:58.000000000 -0230 -*************** -*** 175,192 **** - // - char* buf = mcpp_get_mem_buffer(Out); - -- _cppFile = ".preprocess." + IceUtil::generateUUID(); -- SignalHandler::addFile(_cppFile); - #ifdef _WIN32 - _cppHandle = ::_wfopen(IceUtil::stringToWstring(_cppFile).c_str(), IceUtil::stringToWstring("w+").c_str()); - #else - _cppHandle = ::fopen(_cppFile.c_str(), "w+"); - #endif -! if(buf) - { -! ::fwrite(buf, strlen(buf), 1, _cppHandle); - } -- ::rewind(_cppHandle); - } - - // ---- 175,206 ---- - // - char* buf = mcpp_get_mem_buffer(Out); - - #ifdef _WIN32 -+ TCHAR buffer[512]; -+ DWORD ret = GetTempPath(512, buffer); -+ if(ret > 512 || ret == 0) -+ { -+ fprintf(stderr, "GetTempPath failed (%d)\n", GetLastError()); -+ } -+ _cppFile = string(buffer) + "\\.preprocess." + IceUtil::generateUUID(); - _cppHandle = ::_wfopen(IceUtil::stringToWstring(_cppFile).c_str(), IceUtil::stringToWstring("w+").c_str()); - #else -+ _cppFile = "/tmp/.preprocess." + IceUtil::generateUUID(); - _cppHandle = ::fopen(_cppFile.c_str(), "w+"); - #endif -! if(_cppHandle != NULL) -! { -! SignalHandler::addFile(_cppFile); -! if(buf) -! { -! ::fwrite(buf, strlen(buf), 1, _cppHandle); -! } -! ::rewind(_cppHandle); -! } -! else - { -! fprintf(stderr, "Could not open temporary file: %s\n", _cppFile.c_str()); - } - } - - // - diff --git a/dev-cpp/Ice/files/Ice-3.3.0-p5.patch b/dev-cpp/Ice/files/Ice-3.3.0-p5.patch deleted file mode 100644 index 393aa889cab1..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-p5.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/cpp/src/IceGrid/LocatorI.cpp b/cpp/src/IceGrid/LocatorI.cpp -index bf910ba..554a170 100644 ---- a/cpp/src/IceGrid/LocatorI.cpp -+++ b/cpp/src/IceGrid/LocatorI.cpp -@@ -588,13 +588,15 @@ LocatorI::activate(const LocatorAdapterInfo& adapter, const RequestPtr& request) - // we just add this one to the queue. If not, we add it to the queue and initiate - // a call on the adapter to get its direct proxy. - // -- PendingRequestsMap::iterator p; -- p = _pendingRequests.insert(make_pair(adapter.id, PendingRequests())).first; -- p->second.insert(request); -- if(p->second.size() != 1) -+ PendingRequestsMap::iterator p = _pendingRequests.find(adapter.id); -+ if(p != _pendingRequests.end()) - { -+ p->second.insert(request); - return; - } -+ -+ p = _pendingRequests.insert(make_pair(adapter.id, PendingRequests())).first; -+ p->second.insert(request); - } - - AMI_Adapter_activatePtr amiCB = new AMI_Adapter_activateI(this, adapter.id); - diff --git a/dev-cpp/Ice/files/Ice-3.3.0-p6.patch b/dev-cpp/Ice/files/Ice-3.3.0-p6.patch deleted file mode 100644 index 25abc3f41801..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-p6.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/cpp/src/IceGrid/LocatorI.cpp b/cpp/src/IceGrid/LocatorI.cpp -index 554a170..3fbe3a1 100644 ---- a/cpp/src/IceGrid/LocatorI.cpp -+++ b/cpp/src/IceGrid/LocatorI.cpp -@@ -236,12 +236,15 @@ LocatorI::Request::activate(const string& id) - // NOTE: we use a timeout large enough to ensure that the activate() call won't - // timeout if the server hangs in deactivation and/or activation. - // -- for(LocatorAdapterInfoSeq::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p) - { -- if(p->id == id) -+ Lock sync(*this); -+ for(LocatorAdapterInfoSeq::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p) - { -- _locator->activate(*p, this); -- _activating.insert(id); -+ if(p->id == id) -+ { -+ _locator->activate(*p, this); -+ _activating.insert(id); -+ } - } - } - -@@ -684,7 +687,14 @@ LocatorI::removePendingResolve(const string& adapterId, int roundRobinCount) - // - if(roundRobinCount > 0) - { -- _database->getAdapter(adapterId)->increaseRoundRobinCount(roundRobinCount); -+ try -+ { -+ _database->getAdapter(adapterId)->increaseRoundRobinCount(roundRobinCount); -+ } -+ catch(const Ice::Exception&) -+ { -+ // Ignore. -+ } - } - - map<string, deque<Ice::AMD_Locator_findAdapterByIdPtr> >::iterator p = _resolves.find(adapterId); - diff --git a/dev-cpp/Ice/files/Ice-3.3.0-p7.patch b/dev-cpp/Ice/files/Ice-3.3.0-p7.patch deleted file mode 100644 index fcdf85ec5961..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-p7.patch +++ /dev/null @@ -1,475 +0,0 @@ -diff --git a/cpp/include/Ice/OutgoingAsync.h b/cpp/include/Ice/OutgoingAsync.h -index ae16ece..70f3cf2 100644 ---- a/cpp/include/Ice/OutgoingAsync.h -+++ b/cpp/include/Ice/OutgoingAsync.h -@@ -25,6 +25,7 @@ namespace IceInternal - class BasicStream; - class LocalExceptionWrapper; - class Outgoing; -+class RetryTask; - - class ICE_API OutgoingAsyncMessageCallback : virtual public IceUtil::Shared - { -@@ -49,6 +50,8 @@ public: - - protected: - -+ friend class ::IceInternal::RetryTask; -+ - void __acquireCallback(const Ice::ObjectPrx&); - void __releaseCallback(const Ice::LocalException&); - void __releaseCallback() -@@ -83,6 +86,7 @@ public: - void __finished(const Ice::LocalException&); - void __finished(const LocalExceptionWrapper&); - -+ void __retry(int); - bool __send(); - - protected: -diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp -index 8a1e5f4..b26a194 100644 ---- a/cpp/src/Ice/Instance.cpp -+++ b/cpp/src/Ice/Instance.cpp -@@ -29,6 +29,7 @@ - #include <Ice/LoggerI.h> - #include <Ice/Network.h> - #include <Ice/EndpointFactoryManager.h> -+#include <Ice/RetryQueue.h> - #include <Ice/TcpEndpointI.h> - #include <Ice/UdpEndpointI.h> - #include <Ice/DynamicLibrary.h> -@@ -285,6 +286,19 @@ IceInternal::Instance::endpointHostResolver() - return _endpointHostResolver; - } - -+RetryQueuePtr -+IceInternal::Instance::retryQueue() -+{ -+ IceUtil::RecMutex::Lock sync(*this); -+ -+ if(_state == StateDestroyed) -+ { -+ throw CommunicatorDestroyedException(__FILE__, __LINE__); -+ } -+ -+ return _retryQueue; -+} -+ - IceUtil::TimerPtr - IceInternal::Instance::timer() - { -@@ -991,6 +1005,8 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi - _servantFactoryManager = new ObjectFactoryManager(); - - _objectAdapterFactory = new ObjectAdapterFactory(this, communicator); -+ -+ _retryQueue = new RetryQueue(this); - - if(_initData.wstringConverter == 0) - { -@@ -1039,6 +1055,7 @@ IceInternal::Instance::~Instance() - assert(!_serverThreadPool); - assert(!_selectorThread); - assert(!_endpointHostResolver); -+ assert(!_retryQueue); - assert(!_timer); - assert(!_routerManager); - assert(!_locatorManager); -@@ -1200,6 +1217,11 @@ IceInternal::Instance::destroy() - _outgoingConnectionFactory->waitUntilFinished(); - } - -+ if(_retryQueue) -+ { -+ _retryQueue->destroy(); -+ } -+ - ThreadPoolPtr serverThreadPool; - ThreadPoolPtr clientThreadPool; - SelectorThreadPtr selectorThread; -@@ -1210,6 +1232,7 @@ IceInternal::Instance::destroy() - - _objectAdapterFactory = 0; - _outgoingConnectionFactory = 0; -+ _retryQueue = 0; - - if(_connectionMonitor) - { -diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h -index f0aa50a..721b347 100644 ---- a/cpp/src/Ice/Instance.h -+++ b/cpp/src/Ice/Instance.h -@@ -30,6 +30,7 @@ - #include <Ice/ObjectFactoryManagerF.h> - #include <Ice/ObjectAdapterFactoryF.h> - #include <Ice/EndpointFactoryManagerF.h> -+#include <Ice/RetryQueueF.h> - #include <Ice/DynamicLibraryF.h> - #include <Ice/PluginF.h> - #include <Ice/Initialize.h> -@@ -71,6 +72,7 @@ public: - ThreadPoolPtr serverThreadPool(); - SelectorThreadPtr selectorThread(); - EndpointHostResolverPtr endpointHostResolver(); -+ RetryQueuePtr retryQueue(); - IceUtil::TimerPtr timer(); - EndpointFactoryManagerPtr endpointFactoryManager() const; - DynamicLibraryListPtr dynamicLibraryList() const; -@@ -134,6 +136,7 @@ private: - ThreadPoolPtr _serverThreadPool; - SelectorThreadPtr _selectorThread; - EndpointHostResolverPtr _endpointHostResolver; -+ RetryQueuePtr _retryQueue; - IceUtil::TimerPtr _timer; - EndpointFactoryManagerPtr _endpointFactoryManager; - DynamicLibraryListPtr _dynamicLibraryList; -diff --git a/cpp/src/Ice/Makefile b/cpp/src/Ice/Makefile -index f236dd4..dbf931e 100644 ---- a/cpp/src/Ice/Makefile -+++ b/cpp/src/Ice/Makefile -@@ -80,6 +80,7 @@ OBJS = Acceptor.o \ - Proxy.o \ - ReferenceFactory.o \ - Reference.o \ -+ RetryQueue.o \ - RequestHandler.o \ - RouterInfo.o \ - Router.o \ -diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp -index 14da199..c866fe1 100644 ---- a/cpp/src/Ice/OutgoingAsync.cpp -+++ b/cpp/src/Ice/OutgoingAsync.cpp -@@ -24,6 +24,7 @@ - #include <Ice/ReplyStatus.h> - #include <Ice/ImplicitContextI.h> - #include <Ice/ThreadPool.h> -+#include <Ice/RetryQueue.h> - - using namespace std; - using namespace Ice; -@@ -454,6 +455,24 @@ IceInternal::OutgoingAsync::__finished(const LocalExceptionWrapper& ex) - } - } - -+void -+IceInternal::OutgoingAsync::__retry(int interval) -+{ -+ // -+ // This method is called by the proxy to retry an invocation, no -+ // other threads can access this object. -+ // -+ if(interval > 0) -+ { -+ assert(__os); -+ __os->instance()->retryQueue()->add(this, interval); -+ } -+ else -+ { -+ __send(); -+ } -+} -+ - bool - IceInternal::OutgoingAsync::__send() - { -@@ -466,11 +485,11 @@ IceInternal::OutgoingAsync::__send() - } - catch(const LocalExceptionWrapper& ex) - { -- handleException(ex); -+ handleException(ex); // Might call __send() again upon retry and assign _sentSynchronously - } - catch(const Ice::LocalException& ex) - { -- handleException(ex); -+ handleException(ex); // Might call __send() again upon retry and assign _sentSynchronously - } - return _sentSynchronously; - } -@@ -483,6 +502,7 @@ IceInternal::OutgoingAsync::__prepare(const ObjectPrx& prx, const string& operat - _delegate = 0; - _cnt = 0; - _mode = mode; -+ _sentSynchronously = false; - - // - // Can't call async via a batch proxy. -diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp -index 2fc5316..eeb554d 100644 ---- a/cpp/src/Ice/ProxyFactory.cpp -+++ b/cpp/src/Ice/ProxyFactory.cpp -@@ -25,32 +25,8 @@ using namespace std; - using namespace Ice; - using namespace IceInternal; - --namespace --{ -- --class RetryTask : public IceUtil::TimerTask --{ --public: -- -- RetryTask(const OutgoingAsyncPtr& out) : _out(out) -- { -- } -- -- virtual void -- runTimerTask() -- { -- _out->__send(); -- } -- --private: -- -- const OutgoingAsyncPtr _out; --}; -- --} -- - IceUtil::Shared* IceInternal::upCast(ProxyFactory* p) { return p; } -- -+ - ObjectPrx - IceInternal::ProxyFactory::stringToProxy(const string& str) const - { -@@ -243,34 +219,17 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, - } - out << " because of exception\n" << ex; - } -- -- if(interval > 0) -+ -+ if(out) - { -- if(out) -- { -- try -- { -- _instance->timer()->schedule(new RetryTask(out), IceUtil::Time::milliSeconds(interval)); -- } -- catch(const IceUtil::IllegalArgumentException&) // Expected if the communicator destroyed the timer. -- { -- throw CommunicatorDestroyedException(__FILE__, __LINE__); -- } -- } -- else -- { -- // -- // Sleep before retrying. -- // -- IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(interval)); -- } -+ out->__retry(interval); - } -- else -+ else if(interval > 0) - { -- if(out) -- { -- out->__send(); -- } -+ // -+ // Sleep before retrying. -+ // -+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(interval)); - } - } - -diff --git a/cpp/src/Ice/RetryQueue.cpp b/cpp/src/Ice/RetryQueue.cpp -new file mode 100644 -index 0000000..d6aba62 ---- /dev/null -+++ b/cpp/src/Ice/RetryQueue.cpp -@@ -0,0 +1,92 @@ -+// ********************************************************************** -+// -+// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved. -+// -+// This copy of Ice is licensed to you under the terms described in the -+// ICE_LICENSE file included in this distribution. -+// -+// ********************************************************************** -+ -+#include <Ice/RetryQueue.h> -+#include <Ice/OutgoingAsync.h> -+#include <Ice/LocalException.h> -+#include <Ice/Instance.h> -+ -+using namespace std; -+using namespace Ice; -+using namespace IceInternal; -+ -+IceUtil::Shared* IceInternal::upCast(RetryQueue* p) { return p; } -+ -+IceInternal::RetryTask::RetryTask(const RetryQueuePtr& queue, const OutgoingAsyncPtr& outAsync) : -+ _queue(queue), _outAsync(outAsync) -+{ -+} -+ -+void -+IceInternal::RetryTask::runTimerTask() -+{ -+ if(_queue->remove(this)) -+ { -+ try -+ { -+ _outAsync->__send(); -+ } -+ catch(const Ice::LocalException& ex) -+ { -+ _outAsync->__releaseCallback(ex); -+ } -+ } -+} -+ -+void -+IceInternal::RetryTask::destroy() -+{ -+ _outAsync->__releaseCallback(CommunicatorDestroyedException(__FILE__, __LINE__)); -+} -+ -+bool -+IceInternal::RetryTask::operator<(const RetryTask& rhs) const -+{ -+ return this < &rhs; -+} -+ -+IceInternal::RetryQueue::RetryQueue(const InstancePtr& instance) : _instance(instance) -+{ -+} -+ -+void -+IceInternal::RetryQueue::add(const OutgoingAsyncPtr& out, int interval) -+{ -+ Lock sync(*this); -+ RetryTaskPtr task = new RetryTask(this, out); -+ try -+ { -+ _instance->timer()->schedule(task, IceUtil::Time::milliSeconds(interval)); -+ } -+ catch(const IceUtil::IllegalArgumentException&) // Expected if the communicator destroyed the timer. -+ { -+ throw CommunicatorDestroyedException(__FILE__, __LINE__); -+ } -+ _requests.insert(task); -+} -+ -+void -+IceInternal::RetryQueue::destroy() -+{ -+ Lock sync(*this); -+ for(set<RetryTaskPtr>::const_iterator p = _requests.begin(); p != _requests.end(); ++p) -+ { -+ _instance->timer()->cancel(*p); -+ (*p)->destroy(); -+ } -+ _requests.clear(); -+} -+ -+bool -+IceInternal::RetryQueue::remove(const RetryTaskPtr& task) -+{ -+ Lock sync(*this); -+ return _requests.erase(task) > 0; -+} -+ -diff --git a/cpp/src/Ice/RetryQueue.h b/cpp/src/Ice/RetryQueue.h -new file mode 100644 -index 0000000..960b4a8 ---- /dev/null -+++ b/cpp/src/Ice/RetryQueue.h -@@ -0,0 +1,62 @@ -+// ********************************************************************** -+// -+// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved. -+// -+// This copy of Ice is licensed to you under the terms described in the -+// ICE_LICENSE file included in this distribution. -+// -+// ********************************************************************** -+ -+#ifndef ICE_RETRY_QUEUE_H -+#define ICE_RETRY_QUEUE_H -+ -+#include <IceUtil/Shared.h> -+#include <IceUtil/Mutex.h> -+#include <IceUtil/Timer.h> -+#include <Ice/RetryQueueF.h> -+#include <Ice/OutgoingAsyncF.h> -+#include <Ice/InstanceF.h> -+ -+namespace IceInternal -+{ -+ -+class RetryTask : public IceUtil::TimerTask -+{ -+public: -+ -+ RetryTask(const RetryQueuePtr&, const OutgoingAsyncPtr&); -+ -+ virtual void runTimerTask(); -+ void destroy(); -+ -+ bool operator<(const RetryTask&) const; -+ -+private: -+ -+ const RetryQueuePtr _queue; -+ const OutgoingAsyncPtr _outAsync; -+}; -+typedef IceUtil::Handle<RetryTask> RetryTaskPtr; -+ -+class RetryQueue : public IceUtil::Shared, public IceUtil::Mutex -+{ -+public: -+ -+ RetryQueue(const InstancePtr&); -+ -+ void add(const OutgoingAsyncPtr&, int); -+ void destroy(); -+ -+private: -+ -+ bool remove(const RetryTaskPtr&); -+ friend class RetryTask; -+ -+ const InstancePtr _instance; -+ std::set<RetryTaskPtr> _requests; -+}; -+ -+} -+ -+#endif -+ -diff --git a/cpp/src/Ice/RetryQueueF.h b/cpp/src/Ice/RetryQueueF.h -new file mode 100644 -index 0000000..0e99fd7 ---- /dev/null -+++ b/cpp/src/Ice/RetryQueueF.h -@@ -0,0 +1,24 @@ -+// ********************************************************************** -+// -+// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved. -+// -+// This copy of Ice is licensed to you under the terms described in the -+// ICE_LICENSE file included in this distribution. -+// -+// ********************************************************************** -+ -+#ifndef ICE_RETRY_QUEUE_F_H -+#define ICE_RETRY_QUEUE_F_H -+ -+#include <Ice/Handle.h> -+ -+namespace IceInternal -+{ -+ -+class RetryQueue; -+IceUtil::Shared* upCast(RetryQueue*); -+typedef Handle<RetryQueue> RetryQueuePtr; -+ -+} -+ -+#endif - diff --git a/dev-cpp/Ice/files/Ice-3.3.0-p8.patch b/dev-cpp/Ice/files/Ice-3.3.0-p8.patch deleted file mode 100644 index d87b1f6db868..000000000000 --- a/dev-cpp/Ice/files/Ice-3.3.0-p8.patch +++ /dev/null @@ -1,232 +0,0 @@ -diff -c -r -N ../Ice-3.3.0/cpp/include/IceUtil/StringUtil.h ./cpp/include/IceUtil/StringUtil.h -*** ../Ice-3.3.0/cpp/include/IceUtil/StringUtil.h 2008-05-16 14:54:00.000000000 -0230 ---- ./cpp/include/IceUtil/StringUtil.h 2008-10-30 12:51:39.000000000 -0230 -*************** -*** 65,70 **** ---- 65,82 ---- - #else - ICE_UTIL_API std::string errorToString(int); - #endif -+ -+ // -+ // Functions to convert to to all lower/upper case -+ // -+ ICE_UTIL_API std::string toLower(const std::string&); -+ ICE_UTIL_API std::string toUpper(const std::string&); -+ -+ // -+ // Remove all whitespace from a string -+ // -+ ICE_UTIL_API std::string removeWhitespace(const std::string&); -+ - } - - #endif -diff -c -r -N ../Ice-3.3.0/cpp/src/IcePatch2/Calc.cpp ./cpp/src/IcePatch2/Calc.cpp -*** ../Ice-3.3.0/cpp/src/IcePatch2/Calc.cpp 2008-05-16 14:54:00.000000000 -0230 ---- ./cpp/src/IcePatch2/Calc.cpp 2008-10-30 13:04:19.000000000 -0230 -*************** -*** 42,48 **** - - for(string::size_type i = 0; i < lhs.path.size(); ++i) - { -! if(::tolower(lhs.path[i]) != ::tolower(rhs.path[i])) - { - return false; - } ---- 42,48 ---- - - for(string::size_type i = 0; i < lhs.path.size(); ++i) - { -! if(::tolower(static_cast<unsigned char>(lhs.path[i])) != ::tolower(static_cast<unsigned char>(rhs.path[i]))) - { - return false; - } -*************** -*** 59,69 **** - { - for(string::size_type i = 0; i < lhs.path.size() && i < rhs.path.size(); ++i) - { -! if(::tolower(lhs.path[i]) < ::tolower(rhs.path[i])) - { - return true; - } -! else if(::tolower(lhs.path[i]) > ::tolower(rhs.path[i])) - { - return false; - } ---- 59,70 ---- - { - for(string::size_type i = 0; i < lhs.path.size() && i < rhs.path.size(); ++i) - { -! if(::tolower(static_cast<unsigned char>(lhs.path[i])) < ::tolower(static_cast<unsigned char>(rhs.path[i]))) - { - return true; - } -! else if(::tolower(static_cast<unsigned char>(lhs.path[i])) > -! ::tolower(static_cast<unsigned char>(rhs.path[i]))) - { - return false; - } -diff -c -r -N ../Ice-3.3.0/cpp/src/IcePatch2/Client.cpp ./cpp/src/IcePatch2/Client.cpp -*** ../Ice-3.3.0/cpp/src/IcePatch2/Client.cpp 2008-05-16 14:54:00.000000000 -0230 ---- ./cpp/src/IcePatch2/Client.cpp 2008-10-30 12:58:41.000000000 -0230 -*************** -*** 8,13 **** ---- 8,14 ---- - // ********************************************************************** - - #include <IceUtil/Options.h> -+ #include <IceUtil/StringUtil.h> - #include <Ice/Application.h> - #include <IcePatch2/Util.h> - #include <IcePatch2/ClientUtil.h> -*************** -*** 54,60 **** - { - cout << "Do a thorough patch? (yes/no)" << endl; - cin >> answer; -! transform(answer.begin(), answer.end(), answer.begin(), ::tolower); - if(answer == "no") - { - return false; ---- 55,61 ---- - { - cout << "Do a thorough patch? (yes/no)" << endl; - cin >> answer; -! answer = IceUtilInternal::toLower(answer); - if(answer == "no") - { - return false; -diff -c -r -N ../Ice-3.3.0/cpp/src/IcePatch2/Util.cpp ./cpp/src/IcePatch2/Util.cpp -*** ../Ice-3.3.0/cpp/src/IcePatch2/Util.cpp 2008-05-16 14:54:00.000000000 -0230 ---- ./cpp/src/IcePatch2/Util.cpp 2008-10-30 13:01:05.000000000 -0230 -*************** -*** 280,286 **** - } - - if(result == "/." || -! (result.size() == 4 && isalpha(result[0]) && result[1] == ':' && result[2] == '/' && result[3] == '.')) - { - return result.substr(0, result.size() - 1); - } ---- 280,287 ---- - } - - if(result == "/." || -! (result.size() == 4 && isalpha(static_cast<unsigned char>(result[0])) && result[1] == ':' && -! result[2] == '/' && result[3] == '.')) - { - return result.substr(0, result.size() - 1); - } -*************** -*** 290,296 **** - result.erase(result.size() - 2, 2); - } - -! if(result == "/" || (result.size() == 3 && isalpha(result[0]) && result[1] == ':' && result[2] == '/')) - { - return result; - } ---- 291,298 ---- - result.erase(result.size() - 2, 2); - } - -! if(result == "/" || (result.size() == 3 && isalpha(static_cast<unsigned char>(result[0])) && -! result[1] == ':' && result[2] == '/')) - { - return result; - } -*************** -*** 317,328 **** - } - - unsigned i = 0; -! while(isspace(pa[i])) - { - ++i; - } - #ifdef _WIN32 -! return pa[i] == '\\' || pa[i] == '/' || pa.size() > i + 1 && isalpha(pa[i]) && pa[i + 1] == ':'; - #else - return pa[i] == '/'; - #endif ---- 319,331 ---- - } - - unsigned i = 0; -! while(isspace(static_cast<unsigned char>(pa[i]))) - { - ++i; - } - #ifdef _WIN32 -! return pa[i] == '\\' || pa[i] == '/' || pa.size() > i + 1 && -! isalpha(static_cast<unsigned char>(pa[i])) && pa[i + 1] == ':'; - #else - return pa[i] == '/'; - #endif -*************** -*** 333,339 **** - { - string path = simplify(pa); - #ifdef _WIN32 -! return path == "/" || path.size() == 3 && isalpha(path[0]) && path[1] == ':' && path[2] == '/'; - #else - return path == "/"; - #endif ---- 336,343 ---- - { - string path = simplify(pa); - #ifdef _WIN32 -! return path == "/" || path.size() == 3 && isalpha(static_cast<unsigned char>(path[0])) && -! path[1] == ':' && path[2] == '/'; - #else - return path == "/"; - #endif -diff -c -r -N ../Ice-3.3.0/cpp/src/IceUtil/StringUtil.cpp ./cpp/src/IceUtil/StringUtil.cpp -*** ../Ice-3.3.0/cpp/src/IceUtil/StringUtil.cpp 2008-05-16 14:54:01.000000000 -0230 ---- ./cpp/src/IceUtil/StringUtil.cpp 2008-10-30 12:55:40.000000000 -0230 -*************** -*** 687,690 **** ---- 687,726 ---- - return errorToString(errno); - } - -+ string -+ IceUtilInternal::toLower(const std::string& s) -+ { -+ string result; -+ for(unsigned int i = 0; i < s.length(); ++ i) -+ { -+ result += tolower(static_cast<unsigned char>(s[i])); -+ } -+ return result; -+ } -+ -+ string -+ IceUtilInternal::toUpper(const std::string& s) -+ { -+ string result; -+ for(unsigned int i = 0; i < s.length(); ++ i) -+ { -+ result += toupper(static_cast<unsigned char>(s[i])); -+ } -+ return result; -+ } -+ -+ string -+ IceUtilInternal::removeWhitespace(const std::string& s) -+ { -+ string result; -+ for(unsigned int i = 0; i < s.length(); ++ i) -+ { -+ if(!isspace(static_cast<unsigned char>(s[i]))) -+ { -+ result += s[i]; -+ } -+ } -+ return result; -+ } -+ - #endif - |