From owner-freebsd-sparc Mon Apr 10 5: 0:13 2000 Delivered-To: freebsd-sparc@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id B371037B592 for ; Mon, 10 Apr 2000 05:00:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id FAA63363; Mon, 10 Apr 2000 05:00:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from thehousleys.net (frenchknot.ne.mediaone.net [24.147.224.201]) by hub.freebsd.org (Postfix) with ESMTP id 083B737B76D for ; Mon, 10 Apr 2000 04:56:25 -0700 (PDT) (envelope-from housley@thehousleys.net) Received: (from root@localhost) by thehousleys.net (8.9.3/8.9.3) id HAA48141; Mon, 10 Apr 2000 07:56:24 -0400 (EDT) Message-Id: <200004101156.HAA48141@thehousleys.net> Date: Mon, 10 Apr 2000 07:56:24 -0400 (EDT) From: "James E. Housley" Reply-To: housley@thehousleys.net To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: sparc/17898: Patch to new version of helathd Sender: owner-freebsd-sparc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 17898 >Category: sparc >Synopsis: Patch to new version of healthd >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-sparc >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Apr 10 05:00:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: James E. Housley >Release: FreeBSD 3.4-STABLE i386 >Organization: The Housleys dot Net >Environment: >Description: >How-To-Repeat: >Fix: --- healthd.c 2000/04/09 20:59:07 1.1.1.6 +++ healthd.c 2000/04/10 11:52:57 1.1.1.7 @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: healthd.c,v 1.1.1.6 2000/04/09 20:59:07 housley Exp $ + * $Id: healthd.c,v 1.1.1.7 2000/04/10 11:52:57 housley Exp $ * * $FreeBSD$ */ @@ -604,8 +604,10 @@ case 'c': count = atoi(optarg); - if (count < 1) + if (count < 1) { count = 0; + } + debug=1; break; case 'd': @@ -668,68 +670,79 @@ } } - /* Create socket from which to read. */ - sock = socket(AF_INET, SOCK_STREAM, 0); - if (sock < 0) { - perror("opening datagram socket"); - exit(1); - } - /* Create name with wildcards. */ - server.sin_family = AF_INET; - server.sin_addr.s_addr = INADDR_ANY; - server.sin_port = htons(9669); - if (bind(sock, (struct sockaddr *)&server, sizeof(struct sockaddr_in))) { - perror("binding datagram socket"); - exit(1); - } - /* Find assigned port value and print it out. */ - length = sizeof(server); - if (getsockname(sock, (struct sockaddr *)&server, &length)) { - perror("getting socket name"); - exit(1); + if (debug == 0) { + /* Create socket from which to read. */ + sock = socket(AF_INET, SOCK_STREAM, 0); + if (sock < 0) { + perror("opening datagram socket"); + exit(1); + } + /* Create name with wildcards. */ + server.sin_family = AF_INET; + server.sin_addr.s_addr = INADDR_ANY; + server.sin_port = htons(9669); + if (bind(sock, (struct sockaddr *)&server, sizeof(struct sockaddr_in))) { + perror("binding datagram socket"); + exit(1); + } + /* Find assigned port value and print it out. */ + length = sizeof(server); + if (getsockname(sock, (struct sockaddr *)&server, &length)) { + perror("getting socket name"); + exit(1); + } } ReadCurrentValues(); time(&now); time(&tloc); - /* Start accepting connections */ - listen(sock, 5); + if (debug == 0) { + /* Start accepting connections */ + listen(sock, 5); + } while ((iter 0) { - iter++; + if (debug == 0) { + if (FD_ISSET(sock, &ready)) { + msgsock = accept(sock, 0, 0); + if (msgsock == -1) { + } else { + do { + bzero(buf, sizeof(buf)); + bzero(outbuf, sizeof(outbuf)); + if ((rval = read(msgsock, buf, 1024)) < 0) { + } + if (rval == 0) { + } else { + GetAnswer(buf, outbuf); + write(msgsock, outbuf, strlen(outbuf)); + } + } while (rval != 0); + close(msgsock); } - ReadCurrentValues(); - time(&now); } } + time(&tloc); + if (sec <= (int)difftime(tloc, now)) { + if (count > 0) { + iter++; + } + ReadCurrentValues(); + time(&now); + } + } + if (debug == 0) { + close(sock); } - close(sock); } void >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-sparc" in the body of the message