diff --git a/src/core/ngx_config.h b/src/core/ngx_config.h
index bf393f6..4f6f23d 100644
--- a/src/core/ngx_config.h
+++ b/src/core/ngx_config.h
@@ -2,6 +2,11 @@
 #define _NGX_CONFIG_H_INCLUDED_
 
 
+/* STUB to allocate a big ngx_connections */
+#undef  FD_SETSIZE
+#define FD_SETSIZE  5000
+
+
 #if defined __FreeBSD__
 #include <ngx_freebsd_config.h>
 
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 6d20fdf..6d5bc0d 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -346,17 +346,17 @@
                 continue;
             }
 
-            if (rc == NGX_AGAIN) {
-                return;
-            }
-
             if (rc >= NGX_HTTP_SPECIAL_RESPONSE || rc == NGX_ERROR) {
                 ngx_http_finalize_request(r, rc);
                 return;
             }
 
-            if (rc == NGX_OK && r->phase == NGX_HTTP_CONTENT_PHASE) {
-                ngx_http_finalize_request(r, 0);
+            if (r->phase == NGX_HTTP_CONTENT_PHASE) {
+                ngx_http_finalize_request(r, rc);
+                return;
+            }
+
+            if (rc == NGX_AGAIN) {
                 return;
             }
 
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c
index 50f7f93..271ed17 100644
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -24,7 +24,7 @@
 static ngx_command_t  ngx_http_write_filter_commands[] = {
 
     { ngx_string("buffer_output"),
-      NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
+      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
       ngx_conf_set_size_slot,
       NGX_HTTP_LOC_CONF_OFFSET,
       offsetof(ngx_http_write_filter_conf_t, buffer_output),
diff --git a/src/os/unix/ngx_errno.c b/src/os/unix/ngx_errno.c
index e94f2c9..c50da82 100644
--- a/src/os/unix/ngx_errno.c
+++ b/src/os/unix/ngx_errno.c
@@ -2,6 +2,8 @@
 #include <ngx_core.h>
 
 
+#if (HAVE_STRERROR_R)
+
 ngx_int_t ngx_strerror_r(int err, char *errstr, size_t size)
 {
     size_t  len;
@@ -22,3 +24,5 @@
 
     return len;
 }
+
+#endif
