nginx-0.0.2-2004-03-14-23:46:25 import
diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c
index 54fd0f9..49eade1 100644
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -252,7 +252,9 @@
 #if !(WIN32)
         || err == NGX_EPIPE
 #endif
-        || err == NGX_ENOTCONN)
+        || err == NGX_ENOTCONN
+        || err == NGX_ECONNREFUSED
+        || err == NGX_EHOSTUNREACH)
     {
 
         switch (c->log_error) {
diff --git a/src/core/ngx_string.h b/src/core/ngx_string.h
index fb3e35b..158ad0f 100644
--- a/src/core/ngx_string.h
+++ b/src/core/ngx_string.h
@@ -20,11 +20,6 @@
 
 #define ngx_strncasecmp           strnicmp
 #define ngx_strcasecmp            stricmp
-#define ngx_strncmp               strncmp
-#define ngx_strcmp                strcmp
-
-#define ngx_strstr                strstr
-#define ngx_strlen                strlen
 
 #define ngx_snprintf              _snprintf
 #define ngx_vsnprintf             _vsnprintf
@@ -33,20 +28,26 @@
 
 #define ngx_strncasecmp           strncasecmp
 #define ngx_strcasecmp            strcasecmp
-#define ngx_strncmp               strncmp
-#define ngx_strcmp                strcmp
-
-#define ngx_strstr                strstr
-#define ngx_strlen                strlen
 
 #define ngx_snprintf              snprintf
 #define ngx_vsnprintf             vsnprintf
 
 #endif
 
+
+#define ngx_strncmp               strncmp
+
+/* msvc and icc compile strcmp() to inline loop */
+#define ngx_strcmp                strcmp
+
+#define ngx_strstr                strstr
+#define ngx_strlen                strlen
+
 /*
  * msvc and icc compile memset() to inline "rep stos"
  * while ZeroMemory and bzero are calls.
+ *
+ * icc can also inline mov's of a zeroed register for small blocks.
  */
 #define ngx_memzero(buf, n)       memset(buf, 0, n)