Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-3-0]: src/lib/libc/rpc Pull up following revision(s) (requested b...



details:   https://anonhg.NetBSD.org/src/rev/718ca8f6956f
branches:  netbsd-3-0
changeset: 579211:718ca8f6956f
user:      riz <riz%NetBSD.org@localhost>
date:      Fri Apr 28 22:29:30 2006 +0000

description:
Pull up following revision(s) (requested by drochner in ticket #1293):
        lib/libc/rpc/clnt_vc.c: revision 1.14
fix some unpaired sigblocks which possibly leave the process with all
signals blocked,
this might some problems with the Gnome GUI which uses RPC to communicate
with "fam" (file access monitor), in particular it might fix PR pkg/22483
by jmmv

diffstat:

 lib/libc/rpc/clnt_vc.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (41 lines):

diff -r 2354f4d63396 -r 718ca8f6956f lib/libc/rpc/clnt_vc.c
--- a/lib/libc/rpc/clnt_vc.c    Fri Apr 28 21:59:57 2006 +0000
+++ b/lib/libc/rpc/clnt_vc.c    Fri Apr 28 22:29:30 2006 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: clnt_vc.c,v 1.11 2004/12/30 05:11:50 christos Exp $    */
+/*     $NetBSD: clnt_vc.c,v 1.11.4.1 2006/04/28 22:29:30 riz Exp $     */
 
 /*
  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
@@ -36,7 +36,7 @@
 static char *sccsid = "@(#)clnt_tcp.c  2.2 88/08/01 4.0 RPCSRC";
 static char sccsid[] = "@(#)clnt_vc.c 1.19 89/03/16 Copyr 1988 Sun Micro";
 #else
-__RCSID("$NetBSD: clnt_vc.c,v 1.11 2004/12/30 05:11:50 christos Exp $");
+__RCSID("$NetBSD: clnt_vc.c,v 1.11.4.1 2006/04/28 22:29:30 riz Exp $");
 #endif
 #endif
  
@@ -236,19 +236,21 @@
                        rpc_createerr.cf_stat = RPC_SYSTEMERROR;
                        rpc_createerr.cf_error.re_errno = errno;
                        mutex_unlock(&clnt_fd_lock);
+                       thr_sigsetmask(SIG_SETMASK, &(mask), NULL);
                        goto fooy;
                }
                if (connect(fd, (struct sockaddr *)raddr->buf, raddr->len) < 0){
                        rpc_createerr.cf_stat = RPC_SYSTEMERROR;
                        rpc_createerr.cf_error.re_errno = errno;
                        mutex_unlock(&clnt_fd_lock);
+                       thr_sigsetmask(SIG_SETMASK, &(mask), NULL);
                        goto fooy;
                }
        }
        mutex_unlock(&clnt_fd_lock);
+       thr_sigsetmask(SIG_SETMASK, &(mask), NULL);
        if (!__rpc_fd2sockinfo(fd, &si))
                goto fooy;
-       thr_sigsetmask(SIG_SETMASK, &(mask), NULL);
 
        ct->ct_closeit = FALSE;
 



Home | Main Index | Thread Index | Old Index