nginx-0.0.3-2004-03-30-19:59:50 import
diff --git a/src/core/ngx_atomic.h b/src/core/ngx_atomic.h
index 6270d8a..31bf94c 100644
--- a/src/core/ngx_atomic.h
+++ b/src/core/ngx_atomic.h
@@ -28,7 +28,7 @@
NGX_SMP_LOCK
" xaddl %0, %1; "
- : "=q" (old) : "m" (*value));
+ : "+q" (old) : "m" (*value));
return old;
}
@@ -45,7 +45,7 @@
NGX_SMP_LOCK
" xaddl %0, %1; "
- : "=q" (old) : "m" (*value));
+ : "+q" (old) : "m" (*value));
return old;
}
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 86321b5..21cce74 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -38,7 +38,7 @@
"client %s sent invalid header, URL: %s",
"client %s sent too long header line, URL: %s",
"client %s sent HTTP/1.1 request without \"Host\" header, URL: %s",
- "client %s sent invalid \"Content-Length\" header, URL: %s"
+ "client %s sent invalid \"Content-Length\" header, URL: %s",
"client %s sent POST method without \"Content-Length\" header, URL: %s"
};
diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c
index c54674e..9f1260c 100644
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -37,6 +37,9 @@
/* the whole request body was pre-read */
r->header_in->pos += r->headers_in.content_length_n;
+
+ r->request_body->handler(r->request_body->data);
+
return NGX_OK;
}
@@ -84,6 +87,11 @@
c = rev->data;
r = c->data;
+ if (rev->timedout) {
+ ngx_http_finalize_request(r, NGX_HTTP_REQUEST_TIME_OUT);
+ return;
+ }
+
rc = ngx_http_do_read_client_request_body(r);
if (rc >= NGX_HTTP_SPECIAL_RESPONSE) {