Mercurial > hg > nginx-vendor-current
view src/core/ngx_rbtree.h @ 242:ff906029dd40 NGINX_0_4_6
nginx 0.4.6
*) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
and ppc64.
*) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
if its length was set by text string in the
$r->headers_out("Content-Length", ...) method.
*) Bugfix: after redirecting error by an "error_page" directive any
ngx_http_rewrite_module directive returned this error code; bug
appeared in 0.4.4.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 06 Oct 2006 00:00:00 +0400 |
parents | 91372f004adf |
children | 6ae1357b7b7c |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #ifndef _NGX_RBTREE_H_INCLUDED_ #define _NGX_RBTREE_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> typedef ngx_uint_t ngx_rbtree_key_t; typedef ngx_int_t ngx_rbtree_key_int_t; typedef struct ngx_rbtree_node_s ngx_rbtree_node_t; struct ngx_rbtree_node_s { ngx_rbtree_key_t key; ngx_rbtree_node_t *left; ngx_rbtree_node_t *right; ngx_rbtree_node_t *parent; char color; }; typedef struct ngx_rbtree_s ngx_rbtree_t; typedef ngx_rbtree_node_t *(*ngx_rbtree_insert_pt) (ngx_rbtree_node_t *root, ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel); struct ngx_rbtree_s { ngx_rbtree_node_t *root; ngx_rbtree_node_t *sentinel; /* ngx_rbtree_insert_pt insert; */ }; void ngx_rbtree_insert(ngx_thread_volatile ngx_rbtree_t *tree, ngx_rbtree_node_t *node); void ngx_rbtree_delete(ngx_thread_volatile ngx_rbtree_t *tree, ngx_rbtree_node_t *node); static ngx_inline ngx_rbtree_node_t * ngx_rbtree_min(ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel) { while (node->left != sentinel) { node = node->left; } return node; } #endif /* _NGX_RBTREE_H_INCLUDED_ */