=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rlogin/Attic/kcmd.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- src/usr.bin/rlogin/Attic/kcmd.c 2001/07/17 02:13:29 1.12 +++ src/usr.bin/rlogin/Attic/kcmd.c 2001/09/04 23:35:59 1.13 @@ -1,4 +1,4 @@ -/* $OpenBSD: kcmd.c,v 1.12 2001/07/17 02:13:29 pvalchev Exp $ */ +/* $OpenBSD: kcmd.c,v 1.13 2001/09/04 23:35:59 millert Exp $ */ /* $NetBSD: kcmd.c,v 1.2 1995/03/21 07:58:32 cgd Exp $ */ /* @@ -39,7 +39,7 @@ static char Xsccsid[] = "derived from @(#)rcmd.c 5.17 (Berkeley) 6/27/88"; static char sccsid[] = "@(#)kcmd.c 8.2 (Berkeley) 8/19/93"; #else -static char rcsid[] = "$OpenBSD: kcmd.c,v 1.12 2001/07/17 02:13:29 pvalchev Exp $"; +static char rcsid[] = "$OpenBSD: kcmd.c,v 1.13 2001/09/04 23:35:59 millert Exp $"; #endif #endif /* not lint */ @@ -96,7 +96,7 @@ long authopts; { int s, timo = 1, pid; - int oldmask; + sigset_t mask, oldmask; struct sockaddr_in sin, from; char c; int lport = IPPORT_RESERVED - 1; @@ -121,7 +121,9 @@ if (realm == NULL || realm[0] == '\0') realm = krb_realmofhost(host_save); - oldmask = sigblock(sigmask(SIGURG)); + sigemptyset(&mask); + sigaddset(&mask, SIGURG); + sigprocmask(SIG_BLOCK, &mask, &oldmask); for (;;) { s = getport(&lport); if (s < 0) { @@ -130,7 +132,7 @@ "kcmd(socket): All ports in use\n"); else perror("kcmd: socket"); - sigsetmask(oldmask); + sigprocmask(SIG_SETMASK, &oldmask, NULL); return (-1); } fcntl(s, F_SETOWN, pid); @@ -170,7 +172,7 @@ } if (errno != ECONNREFUSED) perror(hp->h_name); - sigsetmask(oldmask); + sigprocmask(SIG_SETMASK, &oldmask, NULL); return (-1); } if (fd2p == 0) { @@ -268,7 +270,7 @@ status = -1; goto bad2; } - sigsetmask(oldmask); + sigprocmask(SIG_SETMASK, &oldmask, NULL); *sock = s; return (KSUCCESS); bad2: @@ -276,7 +278,7 @@ (void) close(*fd2p); bad: (void) close(s); - sigsetmask(oldmask); + sigprocmask(SIG_SETMASK, &oldmask, NULL); return (status); }