Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-09-21 19:47:05 +0400
committerIgor Sysoev <igor@sysoev.ru>2004-09-21 19:47:05 +0400
commit4624ae7d0831f836529acb57a8c3ce6199e67d6e (patch)
tree6e91ac82ffc27438d1db013c45815fea5e759ef7 /src
parentdd888c4caadfbd94c595e6e39bdb361de82dda9f (diff)
nginx-0.0.11-2004-09-21-19:47:05 import
Diffstat (limited to 'src')
-rw-r--r--src/core/ngx_times.c4
-rw-r--r--src/http/modules/ngx_http_gzip_filter.c9
-rw-r--r--src/http/ngx_http_request.h12
-rw-r--r--src/os/unix/ngx_atomic.h8
-rw-r--r--src/os/unix/ngx_solaris_sendfilev_chain.c3
5 files changed, 20 insertions, 16 deletions
diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c
index 2c9985f20..b6d5a3f1d 100644
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -79,7 +79,7 @@ void ngx_time_init()
ngx_cached_http_time.len = sizeof("Mon, 28 Sep 1970 06:00:00 GMT") - 1;
ngx_cached_http_log_time.len = sizeof("28/Sep/1970:12:00:00 +0600") - 1;
-#if (TIME_T_SIZE > SIG_ATOMIC_T_SIZE)
+#if (NGX_THREADS && (TIME_T_SIZE > SIG_ATOMIC_T_SIZE))
ngx_cached_time = &cached_time[0];
#endif
@@ -132,7 +132,7 @@ void ngx_time_update(time_t s)
slot++;
}
-#if (TIME_T_SIZE > SIG_ATOMIC_T_SIZE)
+#if (NGX_THREADS && (TIME_T_SIZE > SIG_ATOMIC_T_SIZE))
ngx_cached_time = &cached_time[slot];
#endif
diff --git a/src/http/modules/ngx_http_gzip_filter.c b/src/http/modules/ngx_http_gzip_filter.c
index dc101b7fc..1a373784d 100644
--- a/src/http/modules/ngx_http_gzip_filter.c
+++ b/src/http/modules/ngx_http_gzip_filter.c
@@ -440,8 +440,9 @@ static ngx_int_t ngx_http_gzip_body_filter(ngx_http_request_t *r,
* Besides we free this memory as soon as the gzipping will complete
* and do not wait while a whole response will be sent to a client.
*
- * 8K is for zlib deflate_state. It takes 5816 bytes on x86
- * and 5920 bytes on amd64.
+ * 8K is for zlib deflate_state, it takes
+ * * 5816 bytes on x86 and sparc64 (32-bit mode)
+ * * 5920 bytes on amd64 and sparc64
*/
ctx->allocated = 8192 + (1 << (wbits + 2)) + (1 << (memlevel + 9));
@@ -803,9 +804,7 @@ static void *ngx_http_gzip_filter_alloc(void *opaque, u_int items, u_int size)
if (alloc % 512 != 0) {
/*
- * The zlib deflate_state allocation, it takes 5816 bytes on x86
- * and 5920 bytes on amd64.
- * We allocate 8K.
+ * the zlib deflate_state allocation, it takes about 6K, we allocate 8K
*/
alloc = (alloc + ngx_pagesize - 1) & ~(ngx_pagesize - 1);
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
index 4dd1e82ee..8ecdfd11f 100644
--- a/src/http/ngx_http_request.h
+++ b/src/http/ngx_http_request.h
@@ -218,9 +218,15 @@ struct ngx_http_cleanup_s {
typedef struct {
- ngx_http_request_t *request;
- ngx_array_t large_buffers;
- ngx_uint_t pipeline; /* unsigned pipeline:1; */
+ ngx_http_request_t *request;
+
+ ngx_buf_t **busy;
+ ngx_uint_t nbusy;
+
+ ngx_buf_t **free;
+ ngx_uint_t nfree;
+
+ ngx_uint_t pipeline; /* unsigned pipeline:1; */
} ngx_http_connection_t;
diff --git a/src/os/unix/ngx_atomic.h b/src/os/unix/ngx_atomic.h
index 41c670475..7f740381b 100644
--- a/src/os/unix/ngx_atomic.h
+++ b/src/os/unix/ngx_atomic.h
@@ -86,7 +86,7 @@ static ngx_inline uint32_t ngx_atomic_inc(ngx_atomic_t *value)
__asm__ volatile (
- "casa [%1]ASI_P, %2, %0"
+ "casa [%1] 0x80, %2, %0"
: "+r" (res) : "r" (value), "r" (old));
@@ -112,7 +112,7 @@ static ngx_inline uint32_t ngx_atomic_cmp_set(ngx_atomic_t *lock,
__asm__ volatile (
- "casa [%1]ASI_P, %2, %0"
+ "casa [%1] 0x80, %2, %0"
: "+r" (res) : "r" (lock), "r" (old));
@@ -124,8 +124,8 @@ static ngx_inline uint32_t ngx_atomic_cmp_set(ngx_atomic_t *lock,
typedef volatile uint32_t ngx_atomic_t;
/* STUB */
-#define ngx_atomic_inc(x) (*(x))++;
-#define ngx_atomic_dec(x) (*(x))--;
+#define ngx_atomic_inc(x) ++(*(x));
+#define ngx_atomic_dec(x) --(*(x));
#define ngx_atomic_cmp_set(lock, old, set) 1
/**/
diff --git a/src/os/unix/ngx_solaris_sendfilev_chain.c b/src/os/unix/ngx_solaris_sendfilev_chain.c
index d249e8186..f6dca9c15 100644
--- a/src/os/unix/ngx_solaris_sendfilev_chain.c
+++ b/src/os/unix/ngx_solaris_sendfilev_chain.c
@@ -18,8 +18,7 @@ ngx_chain_t *ngx_solaris_sendfilev_chain(ngx_connection_t *c, ngx_chain_t *in,
int fd;
u_char *prev;
off_t fprev, sprev, send, aligned;
- size_t size, sent;
- ssize_t n;
+ ssize_t size, sent, n;
ngx_int_t eintr, complete;
ngx_err_t err;
sendfilevec_t *sfv, sfvs[NGX_SENDFILEVECS];