[Freeswitch-trunk] [commit] r6590 - freeswitch/trunk/src/mod/applications/mod_enum

Freeswitch SVN brian at freeswitch.org
Mon Dec 10 11:50:50 EST 2007


Author: brian
Date: Mon Dec 10 11:50:50 2007
New Revision: 6590

Modified:
   freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c

Log:
update

Modified: freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c	(original)
+++ freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c	Mon Dec 10 11:50:50 2007
@@ -432,7 +432,7 @@
 	char *name = NULL;
 	enum_query_t query = { 0 };
 	enum dns_type l_qtyp = DNS_T_NAPTR;
-	int i = 0, abs = 0;
+	int i = 0, abs = 0, j = 0;
 	dns_socket fd = (dns_socket) - 1;
 	fd_set fds;
 	struct timeval tv = { 0 };
@@ -489,7 +489,7 @@
 	FD_ZERO(&fds);
 	now = 0;
 
-	while ((i = dns_timeouts(nctx, globals.timeout, now)) > 0) {
+	while ((i = dns_timeouts(nctx, 1, now)) > 0) {
 #ifdef _MSC_VER
 #pragma warning(push)
 #pragma warning(disable: 4389 4127)
@@ -498,6 +498,13 @@
 #ifdef _MSC_VER
 #pragma warning(pop)
 #endif
+
+		j += i;
+
+		if (j > globals.timeout || query.results) {
+			break;
+		}
+
 		tv.tv_sec = i;
 		tv.tv_usec = 0;
 		i = select((int) (fd + 1), &fds, 0, 0, &tv);



More information about the Freeswitch-trunk mailing list