]> granicus.if.org Git - shadow/commitdiff
Fix user busy errors at userdel
authorBastian Blank <bastian.blank@credativ.de>
Tue, 17 Nov 2015 16:52:24 +0000 (10:52 -0600)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Tue, 17 Nov 2015 16:53:55 +0000 (10:53 -0600)
From: Bastian Blank <bastian.blank@credativ.de>
Acked-by: Serge Hallyn <serge.hallyn@ubuntu.com>
libmisc/user_busy.c

index db7174afa57ebd6bdef77091760e3f9606d172b9..0db32c394315f0a233059c096edfec8491c5b8a8 100644 (file)
@@ -175,6 +175,9 @@ static int user_busy_processes (const char *name, uid_t uid)
        if (stat ("/", &sbroot) != 0) {
                perror ("stat (\"/\")");
                (void) closedir (proc);
+#ifdef ENABLE_SUBIDS
+               sub_uid_close();
+#endif
                return 0;
        }
 
@@ -212,6 +215,9 @@ static int user_busy_processes (const char *name, uid_t uid)
 
                if (check_status (name, tmp_d_name, uid) != 0) {
                        (void) closedir (proc);
+#ifdef ENABLE_SUBIDS
+                       sub_uid_close();
+#endif
                        fprintf (stderr,
                                 _("%s: user %s is currently used by process %d\n"),
                                 Prog, name, pid);
@@ -232,6 +238,9 @@ static int user_busy_processes (const char *name, uid_t uid)
                                }
                                if (check_status (name, task_path+6, uid) != 0) {
                                        (void) closedir (proc);
+#ifdef ENABLE_SUBIDS
+                                       sub_uid_close();
+#endif
                                        fprintf (stderr,
                                                 _("%s: user %s is currently used by process %d\n"),
                                                 Prog, name, pid);