Changeset 35dacc
- Timestamp:
- 02/03/08 15:02:44 (4 years ago)
- Branches:
- master-v0.7, master-v0.6, upstream_count_limit
- Children:
- 2a12f7
- Parents:
- 0cce45 (diff), 2a28c1 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - git-author:
- Tomash Brechko <tomash.brechko@…> (02/03/08 15:02:44)
- git-committer:
- Tomash Brechko <tomash.brechko@…> (02/03/08 15:02:44)
- Files:
-
- 8 added
- 9 edited
-
memcached_hash/Changes (added)
-
memcached_hash/README (added)
-
memcached_hash/TODO (added)
-
memcached_hash/config (added)
-
memcached_hash/dist.sh (added)
-
memcached_hash/nginx.conf (added)
-
memcached_hash/ngx_http_upstream_memcached_hash_module.c (added)
-
memcached_hash/populate.pl (added)
-
server/src/core/nginx.c (modified) (1 diff)
-
server/src/core/ngx_crc32.c (modified) (1 diff)
-
server/src/core/ngx_crc32.h (modified) (1 diff)
-
server/src/core/ngx_string.h (modified) (1 diff)
-
server/src/http/modules/ngx_http_fastcgi_module.c (modified) (1 diff)
-
server/src/http/modules/ngx_http_gzip_filter_module.c (modified) (5 diffs)
-
server/src/http/modules/ngx_http_proxy_module.c (modified) (1 diff)
-
server/src/http/ngx_http_upstream.c (modified) (4 diffs)
-
server/src/http/ngx_http_upstream.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
server/src/core/nginx.c
r0019fc r6a5335 274 274 } 275 275 276 /* ngx_crc32_init() requires ngx_cacheline_size set in ngx_os_init() */ 277 278 if (ngx_crc32_init() != NGX_OK) { 276 /* 277 * ngx_crc32_table_init() requires ngx_cacheline_size set in ngx_os_init() 278 */ 279 280 if (ngx_crc32_table_init() != NGX_OK) { 279 281 return 1; 280 282 } -
server/src/core/ngx_crc32.c
r0019fc r6a5335 103 103 104 104 ngx_int_t 105 ngx_crc32_ init(void)105 ngx_crc32_table_init(void) 106 106 { 107 107 void *p; -
server/src/core/ngx_crc32.h
r0019fc r6a5335 50 50 51 51 52 ngx_int_t ngx_crc32_init(void); 52 #define ngx_crc32_init(crc) \ 53 crc = 0xffffffff 54 55 56 static ngx_inline void 57 ngx_crc32_update(uint32_t *crc, u_char *p, size_t len) 58 { 59 uint32_t c; 60 61 c = *crc; 62 63 while (len--) { 64 c = ngx_crc32_table256[(c ^ *p++) & 0xff] ^ (c >> 8); 65 } 66 67 *crc = c; 68 } 69 70 71 #define ngx_crc32_final(crc) \ 72 crc ^= 0xffffffff 73 74 75 ngx_int_t ngx_crc32_table_init(void); 53 76 54 77 -
server/src/core/ngx_string.h
r0019fc r8760a9 64 64 #define ngx_memset(buf, c, n) (void) memset(buf, c, n) 65 65 66 #define ngx_memmove(dst, src, n) (void) memmove(dst, src, n) 66 67 67 68 #if (NGX_MEMCPY_LIMIT) -
server/src/http/modules/ngx_http_fastcgi_module.c
r0019fc r66a597 180 180 { ngx_string("invalid_header"), NGX_HTTP_UPSTREAM_FT_INVALID_HEADER }, 181 181 { ngx_string("http_500"), NGX_HTTP_UPSTREAM_FT_HTTP_500 }, 182 { ngx_string("http_502"), NGX_HTTP_UPSTREAM_FT_HTTP_502 }, 182 183 { ngx_string("http_503"), NGX_HTTP_UPSTREAM_FT_HTTP_503 }, 184 { ngx_string("http_504"), NGX_HTTP_UPSTREAM_FT_HTTP_504 }, 185 { ngx_string("http_507"), NGX_HTTP_UPSTREAM_FT_HTTP_507 }, 183 186 { ngx_string("http_404"), NGX_HTTP_UPSTREAM_FT_HTTP_404 }, 184 187 { ngx_string("off"), NGX_HTTP_UPSTREAM_FT_OFF }, -
server/src/http/modules/ngx_http_gzip_filter_module.c
r233310 r2bbdb3 319 319 320 320 if (ctx->preallocated == NULL) { 321 wbits = conf->wbits;321 wbits = (!r->gunzip ? conf->wbits : 15); 322 322 memlevel = conf->memlevel; 323 323 324 if ( ctx->length > 0) {324 if (!r->gunzip && ctx->length > 0) { 325 325 326 326 /* the actual zlib window size is smaller by 262 bytes */ … … 543 543 ctx->out_buf->last = ctx->zstream.next_out; 544 544 545 if (ctx->zstream.avail_out == 0) {546 547 /* zlib wants to output some more gzipped data */548 549 cl = ngx_alloc_chain_link(r->pool);550 if (cl == NULL) {551 ngx_http_gzip_error(ctx);552 return NGX_ERROR;553 }554 555 cl->buf = ctx->out_buf;556 cl->next = NULL;557 *ctx->last_out = cl;558 ctx->last_out = &cl->next;559 560 ctx->redo = 1;561 562 continue;563 }564 565 545 ctx->redo = 0; 566 546 567 if (ctx->flush == Z_SYNC_FLUSH 568 && ctx->out_buf->last > ctx->out_buf->pos) { 569 570 ctx->zstream.avail_out = 0; 547 if (ctx->flush == Z_SYNC_FLUSH) { 548 571 549 ctx->out_buf->flush = 1; 572 550 ctx->flush = Z_NO_FLUSH; 573 551 574 cl = ngx_alloc_chain_link(r->pool); 575 if (cl == NULL) { 576 ngx_http_gzip_error(ctx); 577 return NGX_ERROR; 578 } 579 580 cl->buf = ctx->out_buf; 581 cl->next = NULL; 582 *ctx->last_out = cl; 583 ctx->last_out = &cl->next; 584 585 break; 552 /* 553 * On decompression there might be not enough input 554 * data to produce any output data. 555 */ 556 if (ctx->out_buf->last > ctx->out_buf->pos) { 557 558 ctx->zstream.avail_out = 0; 559 560 cl = ngx_alloc_chain_link(r->pool); 561 if (cl == NULL) { 562 ngx_http_gzip_error(ctx); 563 return NGX_ERROR; 564 } 565 566 cl->buf = ctx->out_buf; 567 cl->next = NULL; 568 *ctx->last_out = cl; 569 ctx->last_out = &cl->next; 570 571 break; 572 } 586 573 } 587 574 … … 596 583 ctx->zout = ctx->zstream.total_out; 597 584 598 r->gunzip = 0;599 585 rc = inflateEnd(&ctx->zstream); 600 586 } … … 667 653 } else { 668 654 ctx->out_buf->last_buf = 1; 655 r->gunzip = 0; 669 656 } 670 657 … … 677 664 678 665 break; 666 } 667 668 if (ctx->zstream.avail_out == 0) { 669 670 /* zlib wants to output some more gzipped data */ 671 672 cl = ngx_alloc_chain_link(r->pool); 673 if (cl == NULL) { 674 ngx_http_gzip_error(ctx); 675 return NGX_ERROR; 676 } 677 678 cl->buf = ctx->out_buf; 679 cl->next = NULL; 680 *ctx->last_out = cl; 681 ctx->last_out = &cl->next; 682 683 ctx->redo = 1; 684 685 continue; 679 686 } 680 687 -
server/src/http/modules/ngx_http_proxy_module.c
ra64318 r66a597 134 134 { ngx_string("invalid_header"), NGX_HTTP_UPSTREAM_FT_INVALID_HEADER }, 135 135 { ngx_string("http_500"), NGX_HTTP_UPSTREAM_FT_HTTP_500 }, 136 { ngx_string("http_502"), NGX_HTTP_UPSTREAM_FT_HTTP_502 }, 136 137 { ngx_string("http_503"), NGX_HTTP_UPSTREAM_FT_HTTP_503 }, 138 { ngx_string("http_504"), NGX_HTTP_UPSTREAM_FT_HTTP_504 }, 139 { ngx_string("http_507"), NGX_HTTP_UPSTREAM_FT_HTTP_507 }, 137 140 { ngx_string("http_404"), NGX_HTTP_UPSTREAM_FT_HTTP_404 }, 138 141 { ngx_string("off"), NGX_HTTP_UPSTREAM_FT_OFF }, -
server/src/http/ngx_http_upstream.c
r0019fc r445d49 1094 1094 } 1095 1095 1096 if (u->headers_in.status_n == NGX_HTTP_BAD_GATEWAY) { 1097 1098 if (u->peer.tries > 1 1099 && u->conf->next_upstream & NGX_HTTP_UPSTREAM_FT_HTTP_502) 1100 { 1101 ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_HTTP_502); 1102 return; 1103 } 1104 } 1105 1106 if (u->headers_in.status_n == NGX_HTTP_SERVICE_UNAVAILABLE) { 1107 1108 if (u->peer.tries > 1 1109 && u->conf->next_upstream & NGX_HTTP_UPSTREAM_FT_HTTP_503) 1110 { 1111 ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_HTTP_503); 1112 return; 1113 } 1114 } 1115 1116 if (u->headers_in.status_n == NGX_HTTP_GATEWAY_TIME_OUT) { 1117 1118 if (u->peer.tries > 1 1119 && u->conf->next_upstream & NGX_HTTP_UPSTREAM_FT_HTTP_504) 1120 { 1121 ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_HTTP_504); 1122 return; 1123 } 1124 } 1125 1126 if (u->headers_in.status_n == NGX_HTTP_INSUFFICIENT_STORAGE) { 1127 1128 if (u->peer.tries > 1 1129 && u->conf->next_upstream & NGX_HTTP_UPSTREAM_FT_HTTP_507) 1130 { 1131 ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_HTTP_507); 1132 return; 1133 } 1134 } 1096 1135 1097 1136 if (u->headers_in.status_n >= NGX_HTTP_BAD_REQUEST … … 2173 2212 switch(ft_type) { 2174 2213 2214 case NGX_HTTP_UPSTREAM_FT_HTTP_504: 2175 2215 case NGX_HTTP_UPSTREAM_FT_TIMEOUT: 2176 2216 status = NGX_HTTP_GATEWAY_TIME_OUT; … … 2183 2223 case NGX_HTTP_UPSTREAM_FT_HTTP_404: 2184 2224 status = NGX_HTTP_NOT_FOUND; 2225 break; 2226 2227 case NGX_HTTP_UPSTREAM_FT_HTTP_502: 2228 status = NGX_HTTP_BAD_GATEWAY; 2229 break; 2230 2231 case NGX_HTTP_UPSTREAM_FT_HTTP_503: 2232 status = NGX_HTTP_SERVICE_UNAVAILABLE; 2233 break; 2234 2235 case NGX_HTTP_UPSTREAM_FT_HTTP_507: 2236 status = NGX_HTTP_INSUFFICIENT_STORAGE; 2185 2237 break; 2186 2238 … … 3139 3191 } 3140 3192 3193 us->name = u.url; 3141 3194 us->addrs = u.addrs; 3142 3195 us->naddrs = u.naddrs; -
server/src/http/ngx_http_upstream.h
r0019fc r445d49 25 25 #define NGX_HTTP_UPSTREAM_FT_BUSY_LOCK 0x00000080 26 26 #define NGX_HTTP_UPSTREAM_FT_MAX_WAITING 0x00000100 27 #define NGX_HTTP_UPSTREAM_FT_HTTP_502 0x00000200 28 #define NGX_HTTP_UPSTREAM_FT_HTTP_504 0x00000400 29 #define NGX_HTTP_UPSTREAM_FT_HTTP_507 0x00000800 27 30 #define NGX_HTTP_UPSTREAM_FT_OFF 0x80000000 28 31 … … 65 68 66 69 typedef struct { 70 ngx_str_t name; 67 71 ngx_peer_addr_t *addrs; 68 72 ngx_uint_t naddrs;
Note: See TracChangeset
for help on using the changeset viewer.
