diff src/lib/network.c @ 6825:85385079b044 HEAD

Use likely() and unlikely() macros to make commonly checked error handling paths unlikely.
author Timo Sirainen <tss@iki.fi>
date Sat, 17 Nov 2007 08:13:03 +0200
parents fc5e27a49c87
children ed6693fc06d6
line wrap: on
line diff
--- a/src/lib/network.c	Sat Nov 17 02:07:40 2007 +0200
+++ b/src/lib/network.c	Sat Nov 17 08:13:03 2007 +0200
@@ -402,7 +402,7 @@
 		return -2;
 	}
 
-	if (ret < 0) {
+	if (unlikely(ret < 0)) {
 		if (errno == EINTR || errno == EAGAIN)
 			return 0;
 
@@ -423,10 +423,10 @@
 	i_assert(len <= SSIZE_T_MAX);
 
 	ret = send(fd, data, len, 0);
-	if (ret == -1 && (errno == EINTR || errno == EAGAIN))
+	if (unlikely(ret == -1 && (errno == EINTR || errno == EAGAIN)))
 		return 0;
 
-	if (errno == EPIPE)
+	if (unlikely(errno == EPIPE))
 		return -2;
 
         return ret;