BIND 8.4.4 assertion failure on Tru64

Mark_Andrews at isc.org Mark_Andrews at isc.org
Mon Feb 2 22:50:57 UTC 2004


	Apply the following patch.

Index: src/bin/named/ns_main.c
===================================================================
RCS file: /proj/cvs/prod/bind8/src/bin/named/ns_main.c,v
retrieving revision 8.207
diff -u -r8.207 ns_main.c
--- src/bin/named/ns_main.c	16 Jan 2004 02:01:23 -0000	8.207
+++ src/bin/named/ns_main.c	29 Jan 2004 10:11:39 -0000
@@ -241,6 +241,9 @@
 				custom_shutdown(void);
 #endif
 
+static int handle_needs_tag;
+static int drain_all_rcvbuf_tag;
+
 static void
 usage() {
 	fprintf(stderr,
@@ -3184,7 +3187,7 @@
 		dg->gen = ifp->gen;
 		dg->buflen = n;
 		memcpy(dg->buf, u.buf, n);
-		if (evWaitFor(ctx, "drain_all_rcvbuf", savedg_waitfunc,
+		if (evWaitFor(ctx, &drain_all_rcvbuf_tag, savedg_waitfunc,
 			      dg, NULL) < 0)
 		{
 			memput(dg->buf, dg->buflen);
@@ -3209,7 +3212,7 @@
 			drop += drain_rcvbuf(ctx, ifp, ifp->dfd,
 					     &mread, &mstore);
 	if (mstore < MAX_SYNCSTORE)
-		INSIST_ERR(evDo(ctx, "drain_all_rcvbuf") != -1);
+		INSIST_ERR(evDo(ctx, &drain_all_rcvbuf_tag) != -1);
 	return (drop);
 }
 
@@ -4426,7 +4429,7 @@
 	block_signals();
 	for (need = 0; need < main_need_num; need++)
 		if ((needs & (1 << need)) != 0) {
-			INSIST_ERR(evWaitFor(ev, "handle_needs",
+			INSIST_ERR(evWaitFor(ev, &handle_needs_tag,
 					     need_waitfunc,
 					     &handlers[need],
 					     NULL) != -1);
@@ -4436,7 +4439,7 @@
 	unblock_signals();
 	ns_debug(ns_log_default, 15, "handle_needs(): queued %d", queued);
 	if (queued != 0) {
-		INSIST_ERR(evDo(ev, "handle_needs") != -1);
+		INSIST_ERR(evDo(ev, &handle_needs_tag) != -1);
 		return;
 	}
 	ns_panic(ns_log_default, 1, "ns_handle_needs: queued == 0");
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark.Andrews at isc.org


More information about the bind-users mailing list