Mercurial > hg > nginx-vendor-0-8
view src/core/ngx_rbtree.h @ 244:500a3242dff6 NGINX_0_4_7
nginx 0.4.7
*) Feature: the ngx_http_flv_module.
*) Feature: the $request_body_file variable.
*) Feature: the "charset" and "source_charset" directives support the
variables.
*) Bugfix: if an "include" SSI command were before another "include"
SSI command with an "wait" parameter, then the "wait" parameter
might not work.
*) Bugfix: if the "proxy_buffering off" directive was used or while
working with memcached the connections might not be closed on
timeout.
*) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
and ppc64.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 10 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_ */