Mercurial > hg > freeDiameter
changeset 695:712a0bb8d3bf
Add ability to skip dlclose() calls since it creates problems on FreeBSD8.1 64bits
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Fri, 21 Jan 2011 16:18:39 +0900 |
parents | 15f96c0a961d |
children | ff23fecac0b2 |
files | include/freeDiameter/freeDiameter-host.h.in libfdcore/extensions.c tests/testloadext.c tests/tests.h |
diffstat | 4 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/include/freeDiameter/freeDiameter-host.h.in Fri Jan 21 16:17:54 2011 +0900 +++ b/include/freeDiameter/freeDiameter-host.h.in Fri Jan 21 16:18:39 2011 +0900 @@ -47,6 +47,7 @@ #cmakedefine DEBUG_SCTP #cmakedefine SCTP_USE_MAPPED_ADDRESSES #cmakedefine SCTP_CONNECTX_4_ARGS +#cmakedefine SKIP_DLCLOSE #cmakedefine ERRORS_ON_TODO #cmakedefine DEBUG
--- a/libfdcore/extensions.c Fri Jan 21 16:17:54 2011 +0900 +++ b/libfdcore/extensions.c Fri Jan 21 16:18:39 2011 +0900 @@ -171,6 +171,7 @@ (*ext->fini)(); } +#ifndef SKIP_DLCLOSE /* Now unload the extension */ if (ext->handler) { TRACE_DEBUG (FULL, "Unloading %s", ext->filename); @@ -178,6 +179,7 @@ TRACE_DEBUG (INFO, "Unloading [%s] failed : %s\n", ext->filename, dlerror()); } } +#endif /* SKIP_DLCLOSE */ /* Free the object and continue */ free(ext->filename);
--- a/tests/testloadext.c Fri Jan 21 16:17:54 2011 +0900 +++ b/tests/testloadext.c Fri Jan 21 16:18:39 2011 +0900 @@ -68,7 +68,6 @@ if (dot && !(strcmp(dot, ".fdx"))) { /* We found a file with name *.fdx, attempt to load it */ void *hdl, * ep; - int r; snprintf(fullname + pathlen, sizeof(fullname) - pathlen, "%s", dp->d_name); TRACE_DEBUG(INFO, "Extension: '%s'", dp->d_name); @@ -88,11 +87,9 @@ CHECK( 0, ep == NULL ? 1 : 0 ); /* Done, now unload */ - r = dlclose(hdl); - if (r) { - TRACE_DEBUG(INFO, "Unable to dlclose '%s': %s.", fullname, dlerror()); - } - CHECK( 0, r ); +#ifndef SKIP_DLCLOSE + CHECK( 0, dlclose(hdl) ); +#endif /* SKIP_DLCLOSE */ } }