[evolution-patches] 67527, camel loop in getname/addrinfo.




Changelog says it all.

This relies, or will rely on Jeff's exception fixing patch before the user sees anything.

--
Michael Zucchi <notzed ximian com>
"born to die, live to work, it's all downhill from here"
Novell's Evolution and Free Software Developer
Index: camel/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.2251.2.12
diff -u -p -r1.2251.2.12 ChangeLog
--- camel/ChangeLog	29 Sep 2004 01:57:11 -0000	1.2251.2.12
+++ camel/ChangeLog	5 Oct 2004 05:06:33 -0000
@@ -1,3 +1,11 @@
+2004-10-05  Not Zed  <NotZed Ximian com>
+
+	** See bug #67527.
+
+	* camel-service.c (cs_getaddrinfo, cs_getnameinfo): don't loop on
+	EAI_AGAIN, it doesn't appear to mean the same as EAGAIN does with
+	system calls (i guess 'no shit sherlock' really).
+
 2004-09-28  Not Zed  <NotZed Ximian com>
 
 	** See bug #66509.
Index: camel/camel-service.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/camel-service.c,v
retrieving revision 1.90.14.1
diff -u -p -r1.90.14.1 camel-service.c
--- camel/camel-service.c	23 Sep 2004 04:12:29 -0000	1.90.14.1
+++ camel/camel-service.c	5 Oct 2004 05:06:33 -0000
@@ -859,9 +859,7 @@ cs_getaddrinfo(void *data)
 {
 	struct _addrinfo_msg *info = data;
 
-	do {
-		info->result = getaddrinfo(info->name, info->service, info->hints, info->res);
-	} while (info->result == EAI_AGAIN);
+	info->result = getaddrinfo(info->name, info->service, info->hints, info->res);
 	
 	if (info->cancelled) {
 		g_free(info);
@@ -992,9 +990,7 @@ cs_getnameinfo(void *data)
 	struct _addrinfo_msg *msg = data;
 
 	/* there doens't appear to be a return code which says host or serv buffers are too short, lengthen them */
-	do {
-		msg->result = getnameinfo(msg->addr, msg->addrlen, msg->host, msg->hostlen, msg->serv, msg->servlen, msg->flags);
-	} while (msg->result == EAI_AGAIN);
+	msg->result = getnameinfo(msg->addr, msg->addrlen, msg->host, msg->hostlen, msg->serv, msg->servlen, msg->flags);
 	
 	if (msg->cancelled)
 		cs_freeinfo(msg);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]