]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mountd/mountd.c
utils: Return status 0 on clean exits
[nfs-utils.git] / utils / mountd / mountd.c
index d3099506d5c97e50e6bafba718123806e0f39e2a..993b6e65e58f612ef90c718991cd450d66649e65 100644 (file)
@@ -99,12 +99,9 @@ static int version_any(void)
 static void
 unregister_services (void)
 {
-       if (version2()) {
-               nfs_svc_unregister(MOUNTPROG, MOUNTVERS);
-               nfs_svc_unregister(MOUNTPROG, MOUNTVERS_POSIX);
-       }
-       if (version3())
-               nfs_svc_unregister(MOUNTPROG, MOUNTVERS_NFSV3);
+       nfs_svc_unregister(MOUNTPROG, MOUNTVERS);
+       nfs_svc_unregister(MOUNTPROG, MOUNTVERS_POSIX);
+       nfs_svc_unregister(MOUNTPROG, MOUNTVERS_NFSV3);
 }
 
 static void
@@ -199,7 +196,8 @@ killer (int sig)
                wait_for_workers();
        }
        cleanup_lockfiles();
-       xlog (L_FATAL, "Caught signal %d, un-registering and exiting.", sig);
+       xlog (L_NOTICE, "Caught signal %d, un-registering and exiting.", sig);
+       exit(0);
 }
 
 static void
@@ -636,7 +634,7 @@ static void insert_group(struct exportnode *e, char *newname)
        struct groupnode *g;
 
        for (g = e->ex_groups; g; g = g->gr_next)
-               if (strcmp(g->gr_name, newname))
+               if (!strcmp(g->gr_name, newname))
                        return;
 
        g = xmalloc(sizeof(*g));
@@ -840,6 +838,7 @@ main(int argc, char **argv)
        if (new_cache)
                cache_open();
 
+       unregister_services();
        if (version2()) {
                listeners += nfs_svc_create("mountd", MOUNTPROG,
                                        MOUNTVERS, mount_dispatch, port);