+ if (load_use == true) {
+ s = pthread_cancel(pid);
+ if (s == 0) {
+ s = pthread_join(pid, NULL); /* Make sure sub thread has been canceled. */
+ if (s != 0) {
+ lxcfs_error("%s\n", "load_free error!");
+ goto out;
+ }
+ dlerror(); /* Clear any existing error */
+
+ load_free = (void (*)(void)) dlsym(dlopen_handle, "load_free");
+ error = dlerror();
+ if (error != NULL) {
+ lxcfs_error("load_free error: %s\n", error);
+ goto out;
+ }
+ load_free();
+ } else {
+ lxcfs_error("%s\n", "load_free error!");
+ }
+ }