summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Tennis <caleb@gentoo.org>2009-06-21 13:26:17 +0000
committerCaleb Tennis <caleb@gentoo.org>2009-06-21 13:26:17 +0000
commit15b806d2bce83297281a23cc12b76b3688a375d6 (patch)
treeccdd241f53640f84165d3029aae5b9f31a994d55 /dev-cpp
parentversion bump (diff)
downloadgentoo-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/ChangeLog10
-rw-r--r--dev-cpp/Ice/Ice-3.3.0-r1.ebuild83
-rw-r--r--dev-cpp/Ice/Ice-3.3.0.ebuild75
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-Makefile.patch68
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-p1.patch51
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-p3.patch17
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-p4.patch57
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-p5.patch25
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-p6.patch41
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-p7.patch475
-rw-r--r--dev-cpp/Ice/files/Ice-3.3.0-p8.patch232
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
-