BIND 10 master, updated. bb22c63e7bf7544d5a765140cc29b87fd1e2410c [master] workaround for OSX clang problem
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Jun 17 17:27:43 UTC 2011
The branch, master has been updated
via bb22c63e7bf7544d5a765140cc29b87fd1e2410c (commit)
from 2f0a32d552d19ac9224dda91975fb128487714a6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bb22c63e7bf7544d5a765140cc29b87fd1e2410c
Author: Jelte Jansen <jelte at isc.org>
Date: Fri Jun 17 19:27:17 2011 +0200
[master] workaround for OSX clang problem
reviewed on jabber
-----------------------------------------------------------------------
Summary of changes:
src/lib/python/isc/log/log.cc | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/python/isc/log/log.cc b/src/lib/python/isc/log/log.cc
index 68cf213..682ee2a 100644
--- a/src/lib/python/isc/log/log.cc
+++ b/src/lib/python/isc/log/log.cc
@@ -29,6 +29,20 @@ using namespace isc::log;
using std::string;
using boost::bind;
+// We encountered a strange problem with Clang (clang version 2.8
+// (tags/RELEASE_28 115909)) on OSX, where unwinding the stack
+// segfaults the moment this exception was thrown and caught.
+//
+// Placing it in a named namespace instead of the original
+// unnamed namespace appears to solve this, so as a temporary
+// workaround, we create a local randomly named namespace here
+// to solve this issue.
+namespace clang_unnamed_namespace_workaround {
+ // To propagate python exceptions trough our code
+ class InternalError {};
+}
+using namespace clang_unnamed_namespace_workaround;
+
namespace {
// This is for testing only. The real module will have it always set as
@@ -361,9 +375,6 @@ Logger_isDebugEnabled(LoggerWrapper* self, PyObject* args) {
}
}
-// To propagate python exceptions trough our code
-class InternalError {};
-
string
objectToStr(PyObject* object, bool convert) {
PyObject* cleanup(NULL);
More information about the bind10-changes
mailing list