FBSD: fix dumb panic when we can't pfind rxk_Listener
authorBen Kaduk <kaduk@mit.edu>
Fri, 29 Oct 2010 02:45:33 +0000 (22:45 -0400)
committerDerrick Brashear <shadow@dementia.org>
Fri, 29 Oct 2010 02:57:05 +0000 (19:57 -0700)
The process is only returned locked if the process is found.
Don't try to unlock it if it's not found.

Change-Id: I3911955561d0d97e8080bcd18b4e4393b19ad860
Reviewed-on: http://gerrit.openafs.org/3186
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/rx/FBSD/rx_knet.c

index 422659e..1170410 100644 (file)
@@ -89,9 +89,10 @@ osi_StopListener(void)
     soshutdown(rx_socket, SHUT_RDWR);
     p = pfind(rxk_ListenerPid);
     afs_warn("osi_StopListener: rxk_ListenerPid %lx\n", p);
-    if (p)
+    if (p) {
        psignal(p, SIGUSR1);
-    PROC_UNLOCK(p);
+       PROC_UNLOCK(p);
+    }
 #ifdef AFS_FBSD70_ENV
     {
       /* Avoid destroying socket until osi_NetReceive has