/* do_reload - reload the dynamic library. Done under
* lock and when we know the user_count was 0 */
-static void do_reload(void)
+static void do_reload(bool reinit)
{
int ret;
char lxcfs_lib_path[PATH_MAX];
good:
/* initialize the library */
- if (lxcfs_init_library() < 0) {
+ if (reinit && lxcfs_init_library() < 0) {
log_exit("Failed to initialize liblxcfs.so");
}
{
users_lock();
if (users_count == 0 && need_reload)
- do_reload();
+ do_reload(true);
users_count++;
users_unlock();
}
fuse_argv[fuse_argc++] = new_argv[0];
fuse_argv[fuse_argc] = NULL;
- do_reload();
+ do_reload(false);
if (install_signal_handler(SIGUSR1, sigusr1_reload)) {
lxcfs_error("%s - Failed to install SIGUSR1 signal handler", strerror(errno));
goto out;