Date: Mon, 10 Apr 2000 07:56:24 -0400 (EDT) From: "James E. Housley" <housley@thehousleys.net> To: FreeBSD-gnats-submit@freebsd.org Subject: sparc/17898: Patch to new version of helathd Message-ID: <200004101156.HAA48141@thehousleys.net>
next in thread | raw e-mail | index | archive | help
>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<count) || (count==0)) {
FD_ZERO(&ready);
- FD_SET(sock, &ready);
+ if (debug == 1) {
+ FD_SET(fileno(stdin), &ready);
+ } else {
+ FD_SET(sock, &ready);
+ }
to.tv_sec = 0;
to.tv_usec = 100;
if (select(50, &ready, 0, 0, &to) < 0) {
continue;
}
- 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);
- }
- } else {
- time(&tloc);
- if (sec <= (int)difftime(tloc, now)) {
- if (count > 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004101156.HAA48141>
