# HG changeset patch # User Sebastien Decugis # Date 1295594319 -32400 # Node ID 712a0bb8d3bff94eb823fc797691c5d188397754 # Parent 15f96c0a961defd5fdf631baea04b9104d71bab2 Add ability to skip dlclose() calls since it creates problems on FreeBSD8.1 64bits diff -r 15f96c0a961d -r 712a0bb8d3bf include/freeDiameter/freeDiameter-host.h.in --- 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 diff -r 15f96c0a961d -r 712a0bb8d3bf libfdcore/extensions.c --- 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); diff -r 15f96c0a961d -r 712a0bb8d3bf tests/testloadext.c --- 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 */ } } diff -r 15f96c0a961d -r 712a0bb8d3bf tests/tests.h --- a/tests/tests.h Fri Jan 21 16:17:54 2011 +0900 +++ b/tests/tests.h Fri Jan 21 16:18:39 2011 +0900 @@ -109,7 +109,7 @@ { int sig; sigset_t ss; - fd_log_threadname ( "timeout catcher" ); + fd_log_threadname ( "Test alarm catcher" ); sigemptyset(&ss); sigaddset(&ss, SIGALRM);