BIND 10 master, updated. 0e4960761e5bd30e5157e45711da1013d825764e [master] fix 'unrecognized exception' problem
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Oct 10 16:56:09 UTC 2011
The branch, master has been updated
via 0e4960761e5bd30e5157e45711da1013d825764e (commit)
from 32007ad7c992f395895eb8f27343003cf4f94a20 (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 0e4960761e5bd30e5157e45711da1013d825764e
Author: Jelte Jansen <jelte at isc.org>
Date: Mon Oct 10 16:54:12 2011 +0000
[master] fix 'unrecognized exception' problem
use RTLD_GLOBAL when opening modules, otherwise the exceptions some methods raise may not be recognized in catches
-----------------------------------------------------------------------
Summary of changes:
src/lib/datasrc/factory.cc | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/factory.cc b/src/lib/datasrc/factory.cc
index 70a73e8..1818c70 100644
--- a/src/lib/datasrc/factory.cc
+++ b/src/lib/datasrc/factory.cc
@@ -30,7 +30,9 @@ namespace isc {
namespace datasrc {
LibraryContainer::LibraryContainer(const std::string& name) {
- ds_lib_ = dlopen(name.c_str(), RTLD_NOW | RTLD_LOCAL);
+ // use RTLD_GLOBAL so that shared symbols (e.g. exceptions)
+ // are recognized as such
+ ds_lib_ = dlopen(name.c_str(), RTLD_NOW | RTLD_GLOBAL);
if (ds_lib_ == NULL) {
isc_throw(DataSourceLibraryError, dlerror());
}
More information about the bind10-changes
mailing list