Skip site navigation (1)Skip section navigation (2)
Date:      14 Sep 2012 16:38:14 -0000
From:      Michael Gmelin <freebsd@grem.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/171643: [MAINTAINER] devel/ice: Fixes for Clang, C++11, libc++
Message-ID:  <20120914163814.43835.qmail@mail.grem.de>
Resent-Message-ID: <201209141640.q8EGeC9w010812@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         171643
>Category:       ports
>Synopsis:       [MAINTAINER] devel/ice: Fixes for Clang, C++11, libc++
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 14 16:40:11 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Michael Gmelin
>Release:        FreeBSD 9.1-RC1 amd64
>Organization:
Grem Equity GmbH
>Environment:
System: FreeBSD clangcompile 9.1-RC1 FreeBSD 9.1-RC1 #1 r240177: Fri Sep  7 14:37:21 UTC 2012
>Description:
This allows running Ice, built using Clang in C++11 mode and libc++
(-std=c++11 -stdlib=libc++) on FreeBSD 9.1-RC1 (all patches are
backwards compatible, so it still will build on earlier version of
FreeBSD using gcc 4.2. See also:

http://www.zeroc.com/forums/patches/5817-patch-compiling-ice-clang-c-11-libc.html

This also incorporates a patch published by ZeroC that fixes an
assert bug in IceStrom, see also:

http://www.zeroc.com/forums/patches/5781-patch-4-ice-3-4-2-icestorm-assert-bug-fix.html

I also changed the port skeleton, so it makes use of new-style options.
Part of this was increasing the indentation level, therefore the patch
to Makefile looks a lot more dramatic than it is.

Added file(s):
- files/patch-cpp-demo-Freeze-customEvictor-Evictor.h
- files/patch-cpp-include-IceUtil-Cache.h
- files/patch-cpp-include-IceUtil-Config.h
- files/patch-cpp-include-IceUtil-Shared.h
- files/patch-cpp-src-Freeze-MapI.h
- files/patch-cpp-src-Freeze-ObjectStore.cpp
- files/patch-cpp-src-Freeze-ObjectStore.h
- files/patch-cpp-src-Freeze-TransactionalEvictorContext.cpp
- files/patch-cpp-src-Freeze-TransactionalEvictorContext.h
- files/patch-cpp-src-Freeze-TransactionalEvictorI.cpp
- files/patch-cpp-src-IceGrid-FileCache.cpp
- files/patch-cpp-src-IceStorm-Replica.h
- files/patch-cpp-src-IceStorm-TopicI.cpp
- files/patch-cpp-src-IceStorm-TopicManagerI.cpp
- files/patch-cpp-src-IceUtil-Shared.cpp
- files/patch-cpp-src-slice2cpp-Main.cpp
- files/patch-cpp-src-slice2cs-Main.cpp
- files/patch-cpp-src-slice2freeze-Main.cpp
- files/patch-cpp-src-slice2freezej-Main.cpp
- files/patch-cpp-src-slice2html-Main.cpp
- files/patch-cpp-src-slice2java-Main.cpp
- files/patch-cpp-src-slice2php-Main.cpp
- files/patch-cpp-src-slice2py-Main.cpp
- files/patch-cpp-src-slice2rb-Main.cpp

Generated with FreeBSD Port Tools 0.99_6 (mode: change, diff: suffix)
>How-To-Repeat:
Try building the port using an /etc/make.conf that contains

CC=clang
CXX=clang++
CXXFLAGS+=-std=c++11 -stdlib=libc++
CPP=clang-cpp

>Fix:
Apply the following patch.

--- Ice-3.4.2_3.patch begins here ---
diff -ruN --exclude=CVS ../ice.orig/Makefile ./Makefile
--- ../ice.orig/Makefile	2012-03-24 16:57:39.000000000 +0100
+++ ./Makefile	2012-09-12 02:48:59.834014502 +0200
@@ -5,93 +5,92 @@
 # $FreeBSD: ports/devel/ice/Makefile,v 1.22 2012/03/24 15:57:39 miwi Exp $
 #
 
-PORTNAME=	Ice
-PORTVERSION=	3.4.2
-PORTREVISION=	2
-CATEGORIES=	devel
-MASTER_SITES=	http://download.zeroc.com/Ice/3.4/
-
-MAINTAINER=	freebsd@grem.de
-COMMENT=	A modern alternative to object middleware such as CORBA/COM/DCOM/COM+
-
-LIB_DEPENDS=	expat.6:${PORTSDIR}/textproc/expat2 \
-		mcpp.3:${PORTSDIR}/devel/mcpp
-
-OPTIONS=	TESTS "Build and run tests (requires lang/python)" on \
-		DEMOS "Build demos" on
+PORTNAME=		Ice
+PORTVERSION=		3.4.2
+PORTREVISION=		3
+CATEGORIES=		devel
+MASTER_SITES=		http://download.zeroc.com/Ice/3.4/
+
+MAINTAINER=		freebsd@grem.de
+COMMENT=		A modern alternative to object middleware such as CORBA/COM/DCOM/COM+
+
+LIB_DEPENDS=		expat.6:${PORTSDIR}/textproc/expat2 \
+			mcpp.3:${PORTSDIR}/devel/mcpp
+
+OPTIONS_DEFINE=		DEBUG DEMOS DOCS TESTS
+OPTIONS_DEFAULT=	DEMOS TESTS
+TESTS_DESC=		Build and run tests (requires lang/python)
+DEMOS_DESC=		Build demos
 
 .include <bsd.port.options.mk>
 
-.if defined(WITH_TESTS)
+.if ${PORT_OPTIONS:MTESTS}
 USE_PYTHON_BUILD=	yes
 .endif
 
-USE_GMAKE=	yes
-USE_ICONV=	yes
-USE_BDB=	42+
+USE_GMAKE=		yes
+USE_ICONV=		yes
+USE_BDB=		42+
 INVALID_BDB_VER=	2 3 40 41
-USE_LDCONFIG=	yes
-BUILD_WRKSRC=	${WRKSRC}/cpp
-INSTALL_WRKSRC=	${WRKSRC}/cpp
-
-CFLAGS+=	-ftemplate-depth-128 -fPIC -DPIC -Wall -D_REENTRANT ${PTHREAD_CFLAGS} -I${LOCALBASE}/include
-.if defined(DEBUG)
-CFLAGS+=	-g
-.else
-CFLAGS+=	-DNDEBUG
+USE_LDCONFIG=		yes
+BUILD_WRKSRC=		${WRKSRC}/cpp
+INSTALL_WRKSRC=		${WRKSRC}/cpp
+
+CFLAGS+=		-ftemplate-depth-128 -fPIC -DPIC -Wall -D_REENTRANT ${PTHREAD_CFLAGS} -I${LOCALBASE}/include
+.if !${PORT_OPTIONS:MDEBUG}
+CFLAGS+=		-DNDEBUG
 .endif
 
-.include <bsd.port.pre.mk>
 .if ${ARCH} == "ia64"
-BROKEN=		does not compile on ia64
+BROKEN=			does not compile on ia64
 .endif
 
 .if ${ARCH} == "sparc64"
-BROKEN=		fails to link
+BROKEN=			fails to link
 .endif
 
 .if ((${ARCH} != i386) && (${ARCH} != powerpc))
-MAKE_ENV=	LP64=yes
+MAKE_ENV=		LP64=yes
 .endif
 
-.if !defined(WITH_TESTS)
-MAKE_ENV+=	NOTESTS=yes
+.if !${PORT_OPTIONS:MTESTS}
+MAKE_ENV+=		NOTESTS=yes
 .endif
 
-.if !defined(WITH_DEMOS)
-MAKE_ENV+=	NODEMOS=yes
+.if !${PORT_OPTIONS:MDEMOS}
+MAKE_ENV+=		NODEMOS=yes
 .endif
 
-.if defined(NOPORTDOCS)
-MAKE_ENV+=	NOPORTDOCS=yes
+.if !${PORT_OPTIONS:MDOCS}
+MAKE_ENV+=		NOPORTDOCS=yes
 .endif
 
 post-patch:
-	${SED} 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g; \
+	@${SED} 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g; \
 		s|%%PREFIX%%|${PREFIX}|g; \
 		s|%%DATADIR%%|${DATADIR}|g; \
 		s|%%DOCSDIR%%|${DOCSDIR}|g; \
 		s|%%INSTALL_PROGRAM%%|${INSTALL_PROGRAM}|g; \
 		s|%%INSTALL_DATA%%|${INSTALL_DATA}|g' \
 		${FILESDIR}/Make.rules.FreeBSD > ${WRKSRC}/cpp/config/Make.rules.FreeBSD
-	${REINPLACE_CMD} 's|%%BDB_LIB_CXX_NAME%%|${BDB_LIB_CXX_NAME}|g; \
+	@${REINPLACE_CMD} 's|%%BDB_LIB_CXX_NAME%%|${BDB_LIB_CXX_NAME}|g; \
 		s|%%BDB_LIB_DIR%%|${BDB_LIB_DIR}|g; \
 		s|%%BDB_INCLUDE_DIR%%|${BDB_INCLUDE_DIR}|g; \
 		/install_docdir/d' \
 		${WRKSRC}/cpp/config/Make.rules
-	${REINPLACE_CMD} '/install_configdir/d' \
+	@${REINPLACE_CMD} '/install_configdir/d' \
 		${WRKSRC}/cpp/config/Make.rules
-	${REINPLACE_CMD} 's|INSTALL_PROGRAM|INSTALL_DATA|g' \
+	@${REINPLACE_CMD} 's|INSTALL_PROGRAM|INSTALL_DATA|g' \
 		${WRKSRC}/cpp/src/ca/Makefile
-	${REINPLACE_CMD} '/LICENSE/s/prefix/install_slicedir/' \
+	@${REINPLACE_CMD} '/LICENSE/s/prefix/install_slicedir/' \
 		${WRKSRC}/config/Make.common.rules
 
-.if defined(WITH_TESTS)
-TEST_CMD=	@cd ${BUILD_WRKSRC} && ${PYTHON_CMD} ./allTests.py
+.if ${PORT_OPTIONS:MTESTS}
+TEST_CMD=		@cd ${BUILD_WRKSRC} && ${PYTHON_CMD} ./allTests.py
 post-build:
 	${TEST_CMD}
 regression-test test: build
 	${TEST_CMD}
 .endif
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-demo-Freeze-customEvictor-Evictor.h ./files/patch-cpp-demo-Freeze-customEvictor-Evictor.h
--- ../ice.orig/files/patch-cpp-demo-Freeze-customEvictor-Evictor.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-demo-Freeze-customEvictor-Evictor.h	2012-09-10 19:33:16.673709677 +0200
@@ -0,0 +1,10 @@
+--- cpp.orig/demo/Freeze/customEvictor/Evictor.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/demo/Freeze/customEvictor/Evictor.h	2012-09-10 11:43:58.000000000 +0200
+@@ -66,6 +66,7 @@ class Evictor : public Ice::ServantLocator
+ public:
+     
+     Evictor(CurrentDatabase&, int);
++    virtual ~Evictor() ICE_NOEXCEPT_TRUE {};
+     
+     virtual Ice::ObjectPtr locate(const Ice::Current&, Ice::LocalObjectPtr&);
+     virtual void finished(const Ice::Current&, const Ice::ObjectPtr&, const Ice::LocalObjectPtr&);
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-include-Ice-Stream.h ./files/patch-cpp-include-Ice-Stream.h
--- ../ice.orig/files/patch-cpp-include-Ice-Stream.h	2012-03-24 16:57:39.000000000 +0100
+++ ./files/patch-cpp-include-Ice-Stream.h	2012-09-10 19:38:57.073749905 +0200
@@ -77,3 +77,14 @@
          }
          v = static_cast<T>(val);
      }
+--- cpp.orig/include/Ice/Stream.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/include/Ice/Stream.h	2012-09-10 11:43:58.000000000 +0200
+@@ -664,7 +664,7 @@ struct StreamWriter<StreamTraitTypeSequenceBool>
+         outS->writeSize(static_cast<Int>(v.size()));
+         for(typename T::const_iterator p = v.begin(); p != v.end(); ++p)
+         {
+-            outS->write(*p);
++            outS->write(static_cast<bool>(*p));
+         }
+     }
+ };
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-include-IceUtil-Cache.h ./files/patch-cpp-include-IceUtil-Cache.h
--- ../ice.orig/files/patch-cpp-include-IceUtil-Cache.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-include-IceUtil-Cache.h	2012-09-14 16:50:03.842305516 +0200
@@ -0,0 +1,10 @@
+--- cpp.orig/include/IceUtil/Cache.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/include/IceUtil/Cache.h	2012-09-10 11:43:58.000000000 +0200
+@@ -77,6 +77,6 @@ protected:
+     {
+     }
+     
+-    virtual ~Cache()
++    virtual ~Cache() ICE_NOEXCEPT_FALSE
+     {
+     }
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-include-IceUtil-Config.h ./files/patch-cpp-include-IceUtil-Config.h
--- ../ice.orig/files/patch-cpp-include-IceUtil-Config.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-include-IceUtil-Config.h	2012-09-10 23:25:21.254929179 +0200
@@ -0,0 +1,19 @@
+--- cpp.orig/include/IceUtil/Config.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/include/IceUtil/Config.h	2012-09-10 11:43:58.000000000 +0200
+@@ -248,3 +248,16 @@ public:
+ #define ICE_DEFAULT_MUTEX_PROTOCOL PrioNone
+ 
+ #endif
++
++
++//
++// Macro used for declaring destructors that might throw - required for C++11
++//
++#if __cplusplus >= 201103L
++#define ICE_DESTRUCTORS_DONT_THROW_BY_DEFAULT
++#define ICE_NOEXCEPT_FALSE noexcept(false)
++#define ICE_NOEXCEPT_TRUE noexcept(true)
++#else
++#define ICE_NOEXCEPT_FALSE
++#define ICE_NOEXCEPT_TRUE
++#endif
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-include-IceUtil-Shared.h ./files/patch-cpp-include-IceUtil-Shared.h
--- ../ice.orig/files/patch-cpp-include-IceUtil-Shared.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-include-IceUtil-Shared.h	2012-09-10 21:49:08.451696645 +0200
@@ -0,0 +1,72 @@
+--- cpp.orig/include/IceUtil/Shared.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/include/IceUtil/Shared.h	2012-09-10 11:43:58.000000000 +0200
+@@ -50,6 +50,11 @@
+ //
+ // A non thread-safe base class for reference-counted types.
+ //
++// IceUtil::SimpleSharedUnsafeDestructor
++// =====================
++//
++// A non thread-safe base class for reference-counted types - destructor might throw.
++//
+ // IceUtil::Shared
+ // ===============
+ //
+@@ -109,6 +114,57 @@ private:
+     bool _noDelete;
+ };
+ 
++class ICE_UTIL_API SimpleSharedUnsafeDestructor
++{
++public:
++
++    SimpleSharedUnsafeDestructor();
++    SimpleSharedUnsafeDestructor(const SimpleSharedUnsafeDestructor&);
++
++    virtual ~SimpleSharedUnsafeDestructor() ICE_NOEXCEPT_FALSE
++    {
++    }
++
++    SimpleSharedUnsafeDestructor& operator=(const SimpleSharedUnsafeDestructor&)
++    {
++        return *this;
++    }
++
++    void __incRef()
++    {
++        assert(_ref >= 0);
++        ++_ref;
++    }
++
++    void __decRef()
++    {
++        assert(_ref > 0);
++        if(--_ref == 0)
++        {
++            if(!_noDelete)
++            {
++                _noDelete = true;
++                delete this;
++            }
++        }
++    }
++
++    int __getRef() const
++    {
++        return _ref;
++    }
++
++    void __setNoDelete(bool b)
++    {
++        _noDelete = b;
++    }
++
++private:
++
++    int _ref;
++    bool _noDelete;
++};
++
+ class ICE_UTIL_API Shared
+ {
+ public:
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Freeze-MapDb.cpp ./files/patch-cpp-src-Freeze-MapDb.cpp
--- ../ice.orig/files/patch-cpp-src-Freeze-MapDb.cpp	2012-03-24 16:57:39.000000000 +0100
+++ ./files/patch-cpp-src-Freeze-MapDb.cpp	2012-09-10 22:04:07.519687409 +0200
@@ -1,5 +1,19 @@
 --- cpp.orig/src/Freeze/MapDb.cpp	2011-06-15 21:43:58.000000000 +0200
-+++ cpp/src/Freeze/MapDb.cpp	2012-03-04 20:14:52.000000000 +0100
++++ cpp/src/Freeze/MapDb.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -72,7 +72,13 @@ Freeze::MapDb::~MapDb()
+         }
+         catch(const ::DbException& dx)
+         {
++#if defined(ICE_DESTRUCTORS_DONT_THROW_BY_DEFAULT)
++            Error out(_communicator->getLogger());
++            out << "DbException while closing database " << _dbName << ": "
++                << dx.what();
++#else
+             throw DatabaseException(__FILE__, __LINE__, dx.what());
++#endif
+         }
+     }
+ }
 @@ -229,7 +229,11 @@
  #ifndef NDEBUG
                  bool inserted = 
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Freeze-MapI.h ./files/patch-cpp-src-Freeze-MapI.h
--- ../ice.orig/files/patch-cpp-src-Freeze-MapI.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-Freeze-MapI.h	2012-09-10 21:54:08.599554544 +0200
@@ -0,0 +1,18 @@
+--- cpp.orig/src/Freeze/MapI.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/Freeze/MapI.h	2012-09-10 11:43:58.000000000 +0200
+@@ -63,12 +63,13 @@ public:
+     void
+     close();
+ 
+-    class Tx : public IceUtil::SimpleShared
++    class Tx : public IceUtil::SimpleSharedUnsafeDestructor
+     {
+     public:
+ 
+         Tx(const MapHelperI&);
+-        ~Tx();
++        ~Tx() ICE_NOEXCEPT_FALSE;
++        ;
+ 
+         void dead();
+ 
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Freeze-ObjectStore.cpp ./files/patch-cpp-src-Freeze-ObjectStore.cpp
--- ../ice.orig/files/patch-cpp-src-Freeze-ObjectStore.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-Freeze-ObjectStore.cpp	2012-09-11 03:59:42.835768363 +0200
@@ -0,0 +1,11 @@
+--- cpp.orig/src/Freeze/ObjectStore.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/Freeze/ObjectStore.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -189,7 +189,7 @@ Freeze::ObjectStoreBase::ObjectStoreBase(const string& facet, const string& face
+     }
+ }
+ 
+-Freeze::ObjectStoreBase::~ObjectStoreBase()
++Freeze::ObjectStoreBase::~ObjectStoreBase() ICE_NOEXCEPT_FALSE
+ {
+     try
+     {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Freeze-ObjectStore.h ./files/patch-cpp-src-Freeze-ObjectStore.h
--- ../ice.orig/files/patch-cpp-src-Freeze-ObjectStore.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-Freeze-ObjectStore.h	2012-09-10 21:55:20.209510278 +0200
@@ -0,0 +1,11 @@
+--- cpp.orig/src/Freeze/ObjectStore.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/Freeze/ObjectStore.h	2012-09-10 11:43:58.000000000 +0200
+@@ -36,7 +36,7 @@ public:
+     ObjectStoreBase(const std::string&, const std::string&, bool, EvictorIBase*, 
+                     const std::vector<IndexPtr>&, bool);
+ 
+-    virtual ~ObjectStoreBase();
++    virtual ~ObjectStoreBase() ICE_NOEXCEPT_FALSE;
+ 
+     const Ice::ObjectPtr& sampleServant() const;
+ 
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Freeze-TransactionalEvictorContext.cpp ./files/patch-cpp-src-Freeze-TransactionalEvictorContext.cpp
--- ../ice.orig/files/patch-cpp-src-Freeze-TransactionalEvictorContext.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-Freeze-TransactionalEvictorContext.cpp	2012-09-10 21:56:29.779531328 +0200
@@ -0,0 +1,11 @@
+--- cpp.orig/src/Freeze/TransactionalEvictorContext.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/Freeze/TransactionalEvictorContext.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -273,7 +273,7 @@ Freeze::TransactionalEvictorContext::ServantHolder::ServantHolder() :
+ }
+ 
+ 
+-Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder()
++Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder() ICE_NOEXCEPT_FALSE
+ {
+     if(_ownBody && _body.ownServant)
+     {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Freeze-TransactionalEvictorContext.h ./files/patch-cpp-src-Freeze-TransactionalEvictorContext.h
--- ../ice.orig/files/patch-cpp-src-Freeze-TransactionalEvictorContext.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-Freeze-TransactionalEvictorContext.h	2012-09-10 21:56:46.249518436 +0200
@@ -0,0 +1,11 @@
+--- cpp.orig/src/Freeze/TransactionalEvictorContext.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/Freeze/TransactionalEvictorContext.h	2012-09-10 11:43:58.000000000 +0200
+@@ -34,7 +34,7 @@ public:
+     public:
+         
+         ServantHolder();
+-        ~ServantHolder();
++        ~ServantHolder() ICE_NOEXCEPT_FALSE;
+ 
+         void init(const TransactionalEvictorContextPtr&, const Ice::Current&, ObjectStore<TransactionalEvictorElement>*);
+ 
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Freeze-TransactionalEvictorI.cpp ./files/patch-cpp-src-Freeze-TransactionalEvictorI.cpp
--- ../ice.orig/files/patch-cpp-src-Freeze-TransactionalEvictorI.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-Freeze-TransactionalEvictorI.cpp	2012-09-10 21:56:57.809805567 +0200
@@ -0,0 +1,11 @@
+--- cpp.orig/src/Freeze/TransactionalEvictorI.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/Freeze/TransactionalEvictorI.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -346,7 +346,7 @@ Freeze::TransactionalEvictorI::dispatch(Request& request)
+         {
+         }
+         
+-        ~CtxHolder()
++        ~CtxHolder() ICE_NOEXCEPT_FALSE
+         {
+             if(_ownCtx)
+             {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-Ice-Network.cpp ./files/patch-cpp-src-Ice-Network.cpp
--- ../ice.orig/files/patch-cpp-src-Ice-Network.cpp	2011-07-31 17:43:29.000000000 +0200
+++ ./files/patch-cpp-src-Ice-Network.cpp	2012-09-10 22:03:51.659742361 +0200
@@ -1,5 +1,5 @@
 --- cpp.orig/src/Ice/Network.cpp	2011-06-15 21:43:58.000000000 +0200
-+++ cpp/src/Ice/Network.cpp	2011-07-15 23:40:26.000000000 +0200
++++ cpp/src/Ice/Network.cpp	2012-09-10 11:43:58.000000000 +0200
 @@ -715,7 +715,11 @@
      WSASetLastError(error);
  #else
@@ -13,3 +13,12 @@
      {
          SocketException ex(__FILE__, __LINE__);
          ex.error = getSocketErrno();
+@@ -1098,7 +1098,7 @@ IceInternal::doBind(SOCKET fd, const struct sockaddr_storage& addr)
+         size = 0; // Keep the compiler happy.
+     }
+ 
+-    if(bind(fd, reinterpret_cast<const struct sockaddr*>(&addr), size) == SOCKET_ERROR)
++    if(::bind(fd, reinterpret_cast<const struct sockaddr*>(&addr), size) == SOCKET_ERROR)
+     {
+         closeSocketNoThrow(fd);
+         SocketException ex(__FILE__, __LINE__);
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-IceGrid-FileCache.cpp ./files/patch-cpp-src-IceGrid-FileCache.cpp
--- ../ice.orig/files/patch-cpp-src-IceGrid-FileCache.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-IceGrid-FileCache.cpp	2012-09-11 03:06:33.769768355 +0200
@@ -0,0 +1,20 @@
+--- cpp.orig/src/IceGrid/FileCache.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/IceGrid/FileCache.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -195,15 +195,12 @@ FileCache::read(const string& file, Ice::Long offset, int size, Ice::Long& newOf
+ 
+         totalSize += lineSize;
+         lines.push_back(line);
+-#if defined(_MSC_VER) && (_MSC_VER < 1300)
+-        if(is.eof())
++        
++        if(is.eof() || is.fail())
+         {
+             newOffset += line.size();
+         }
+         else
+-#else
+-        if(!is.fail())
+-#endif
+         {
+             newOffset = is.tellg();
+         }
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-IceStorm-Replica.h ./files/patch-cpp-src-IceStorm-Replica.h
--- ../ice.orig/files/patch-cpp-src-IceStorm-Replica.h	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-IceStorm-Replica.h	2012-09-10 21:52:16.229537684 +0200
@@ -0,0 +1,15 @@
+--- cpp.orig/src/IceStorm/Replica.h	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/IceStorm/Replica.h	2012-09-10 11:43:58.000000000 +0200
+@@ -23,9 +23,9 @@ struct GroupNodeInfo
+     GroupNodeInfo(int i, LogUpdate l, const Ice::ObjectPrx& o = Ice::ObjectPrx());
+     bool operator<(const GroupNodeInfo& rhs) const;
+     bool operator==(const GroupNodeInfo& rhs) const;
+-    const int id;
+-    const LogUpdate llu;
+-    const Ice::ObjectPrx observer;
++    int id;
++    LogUpdate llu;
++    Ice::ObjectPrx observer;
+ };
+ 
+ class Replica : virtual public IceUtil::Shared
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-IceStorm-TopicI.cpp ./files/patch-cpp-src-IceStorm-TopicI.cpp
--- ../ice.orig/files/patch-cpp-src-IceStorm-TopicI.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-IceStorm-TopicI.cpp	2012-09-12 22:38:08.054841760 +0200
@@ -0,0 +1,74 @@
+--- cpp.orig/src/IceStorm/TopicI.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/IceStorm/TopicI.cpp	2012-09-12 22:14:00.000000000 +0200
+@@ -666,7 +666,7 @@ TopicImpl::subscribe(const QoS& origQoS, const Ice::ObjectPrx& obj)
+         {
+             try
+             {
+-                DatabaseConnectionPtr connection = _databaseCache->getConnection();
++                DatabaseConnectionPtr connection = _databaseCache->newConnection();
+                 TransactionHolder txn(connection);
+ 
+                 SubscriberRecordKey key;
+@@ -703,7 +703,7 @@ TopicImpl::subscribe(const QoS& origQoS, const Ice::ObjectPrx& obj)
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             SubscriberRecordKey key;
+@@ -788,7 +788,7 @@ TopicImpl::subscribeAndGetPublisher(const QoS& qos, const Ice::ObjectPrx& obj)
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             SubscriberRecordKey key;
+@@ -912,7 +912,7 @@ TopicImpl::link(const TopicPrx& topic, Ice::Int cost)
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             SubscriberRecordKey key;
+@@ -1311,7 +1311,7 @@ TopicImpl::observerAddSubscriber(const LogUpdate& llu, const SubscriberRecord& r
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             SubscriberRecordKey key;
+@@ -1380,7 +1380,7 @@ TopicImpl::observerRemoveSubscriber(const LogUpdate& llu, const Ice::IdentitySeq
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             for(Ice::IdentitySeq::const_iterator id = ids.begin(); id != ids.end(); ++id)
+@@ -1456,7 +1456,7 @@ TopicImpl::destroyInternal(const LogUpdate& origLLU, bool master)
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             // Erase all subscriber records and the topic record.
+@@ -1531,7 +1531,7 @@ TopicImpl::removeSubscribers(const Ice::IdentitySeq& ids)
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             for(Ice::IdentitySeq::const_iterator id = ids.begin(); id != ids.end(); ++id)
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-IceStorm-TopicManagerI.cpp ./files/patch-cpp-src-IceStorm-TopicManagerI.cpp
--- ../ice.orig/files/patch-cpp-src-IceStorm-TopicManagerI.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-IceStorm-TopicManagerI.cpp	2012-09-12 22:38:05.534737389 +0200
@@ -0,0 +1,47 @@
+--- cpp.orig/src/IceStorm/TopicManagerI.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/IceStorm/TopicManagerI.cpp	2012-09-12 22:14:00.000000000 +0200
+@@ -312,7 +312,7 @@ TopicManagerImpl::TopicManagerImpl(const InstancePtr& instance) :
+             _sync = _instance->nodeAdapter()->addWithUUID(_syncImpl);
+         }
+ 
+-        DatabaseConnectionPtr connection = _databaseCache->getConnection();
++        DatabaseConnectionPtr connection = _databaseCache->newConnection();
+ 
+         // Ensure that the llu counter is present in the log.
+         LLUWrapperPtr lluWrapper = _databaseCache->getLLU(connection);
+@@ -381,7 +381,7 @@ TopicManagerImpl::create(const string& name)
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             SubscriberRecordKey key;
+@@ -486,7 +486,7 @@ TopicManagerImpl::observerInit(const LogUpdate& llu, const TopicContentSeq& cont
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             LLUWrapperPtr lluWrapper = _databaseCache->getLLU(connection);
+@@ -590,7 +590,7 @@ TopicManagerImpl::observerCreateTopic(const LogUpdate& llu, const string& name)
+     {
+         try
+         {
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             SubscriberRecordKey key;
+@@ -776,7 +776,7 @@ TopicManagerImpl::initMaster(const set<GroupNodeInfo>& slaves, const LogUpdate&
+         {
+             content.clear();
+ 
+-            DatabaseConnectionPtr connection = _databaseCache->getConnection();
++            DatabaseConnectionPtr connection = _databaseCache->newConnection();
+             TransactionHolder txn(connection);
+ 
+             for(map<string, TopicImplPtr>::const_iterator p = _topics.begin(); p != _topics.end(); ++p)
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-IceUtil-Shared.cpp ./files/patch-cpp-src-IceUtil-Shared.cpp
--- ../ice.orig/files/patch-cpp-src-IceUtil-Shared.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-IceUtil-Shared.cpp	2012-09-10 21:50:42.709551485 +0200
@@ -0,0 +1,21 @@
+--- cpp.orig/src/IceUtil/Shared.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/IceUtil/Shared.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -96,6 +96,18 @@ IceUtil::SimpleShared::SimpleShared(const SimpleShared&) :
+ {
+ }
+ 
++IceUtil::SimpleSharedUnsafeDestructor::SimpleSharedUnsafeDestructor() :
++    _ref(0),
++    _noDelete(false)
++{
++}
++
++IceUtil::SimpleSharedUnsafeDestructor::SimpleSharedUnsafeDestructor(const SimpleSharedUnsafeDestructor&) :
++    _ref(0),
++    _noDelete(false)
++{
++}
++
+ IceUtil::Shared::Shared() :
+     _ref(0),
+     _noDelete(false)
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2cpp-Main.cpp ./files/patch-cpp-src-slice2cpp-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2cpp-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2cpp-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,46 @@
+--- cpp.orig/src/slice2cpp/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2cpp/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -22,7 +22,7 @@ using namespace Slice;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -31,13 +31,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -48,7 +48,7 @@ Init init;
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -294,7 +294,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2cs-Main.cpp ./files/patch-cpp-src-slice2cs-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2cs-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2cs-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,46 @@
+--- cpp.orig/src/slice2cs/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2cs/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -22,7 +22,7 @@ using namespace Slice;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -31,13 +31,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -48,7 +48,7 @@ Init init;
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -303,7 +303,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2freeze-Main.cpp ./files/patch-cpp-src-slice2freeze-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2freeze-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2freeze-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,55 @@
+--- cpp.orig/src/slice2freeze/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2freeze/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -28,7 +28,7 @@ using namespace Slice;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -37,13 +37,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -56,7 +56,7 @@ string ICE_ENCODING_COMPARE = "Freeze::IceEncodingCompare";
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -1995,7 +1995,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
+@@ -2042,7 +2042,7 @@ compile(int argc, char* argv[])
+     u->destroy();
+ 
+     {
+-        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+         if(interrupted)
+         {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2freezej-Main.cpp ./files/patch-cpp-src-slice2freezej-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2freezej-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2freezej-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,55 @@
+--- cpp.orig/src/slice2freezej/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2freezej/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -26,7 +26,7 @@ using namespace IceUtilInternal;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -35,13 +35,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -52,7 +52,7 @@ Init init;
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(mtx);
+ 
+     interrupted = true;
+ }
+@@ -1828,7 +1828,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
+@@ -1923,7 +1923,7 @@ compile(int argc, char* argv[])
+     u->destroy();
+ 
+     {
+-        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+         if(interrupted)
+         {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2html-Main.cpp ./files/patch-cpp-src-slice2html-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2html-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2html-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,55 @@
+--- cpp.orig/src/slice2html/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2html/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -24,7 +24,7 @@ using namespace IceUtil;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -33,13 +33,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -50,7 +50,7 @@ Init init;
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -254,7 +254,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
+@@ -296,7 +296,7 @@ compile(int argc, char* argv[])
+     p->destroy();
+ 
+     {
+-        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++        IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+         if(interrupted)
+         {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2java-Main.cpp ./files/patch-cpp-src-slice2java-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2java-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2java-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,46 @@
+--- cpp.orig/src/slice2java/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2java/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -23,7 +23,7 @@ using namespace Slice;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -32,13 +32,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -49,7 +49,7 @@ Init init;
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -356,7 +356,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2php-Main.cpp ./files/patch-cpp-src-slice2php-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2php-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2php-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,46 @@
+--- cpp.orig/src/slice2php/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2php/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -1488,7 +1488,7 @@ printHeader(IceUtilInternal::Output& out)
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -1497,13 +1497,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -1514,7 +1514,7 @@ Init init;
+ static void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -1777,7 +1777,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2py-Main.cpp ./files/patch-cpp-src-slice2py-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2py-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2py-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,46 @@
+--- cpp.orig/src/slice2py/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2py/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -40,7 +40,7 @@ using namespace Slice::Python;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -49,13 +49,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -66,7 +66,7 @@ Init init;
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -631,7 +631,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
diff -ruN --exclude=CVS ../ice.orig/files/patch-cpp-src-slice2rb-Main.cpp ./files/patch-cpp-src-slice2rb-Main.cpp
--- ../ice.orig/files/patch-cpp-src-slice2rb-Main.cpp	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cpp-src-slice2rb-Main.cpp	2012-09-10 21:49:54.469553384 +0200
@@ -0,0 +1,46 @@
+--- cpp.orig/src/slice2rb/Main.cpp	2011-06-15 21:43:58.000000000 +0200
++++ cpp/src/slice2rb/Main.cpp	2012-09-10 11:43:58.000000000 +0200
+@@ -39,7 +39,7 @@ using namespace Slice::Ruby;
+ namespace
+ {
+ 
+-IceUtil::Mutex* mutex = 0;
++IceUtil::Mutex* mtx = 0;
+ bool interrupted = false;
+ 
+ class Init
+@@ -48,13 +48,13 @@ public:
+ 
+     Init()
+     {
+-        mutex = new IceUtil::Mutex;
++        mtx = new IceUtil::Mutex;
+     }
+ 
+     ~Init()
+     {
+-        delete mutex;
+-        mutex = 0;
++        delete mtx;
++        mtx = 0;
+     }
+ };
+ 
+@@ -65,7 +65,7 @@ Init init;
+ void
+ interruptedCallback(int signal)
+ {
+-    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++    IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+     interrupted = true;
+ }
+@@ -316,7 +316,7 @@ compile(int argc, char* argv[])
+         }
+ 
+         {
+-            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
++            IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mtx);
+ 
+             if(interrupted)
+             {
--- Ice-3.4.2_3.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120914163814.43835.qmail>