nginx-0.0.1-2003-12-19-15:45:27 import

This commit is contained in:
Igor Sysoev 2003-12-19 12:45:27 +00:00
parent e89c4581f4
commit 1cd1e2741a
9 changed files with 41 additions and 34 deletions

View File

@ -6,6 +6,7 @@
#include <ngx_core.h> #include <ngx_core.h>
/* STUB */
#define ngx_atomic_inc(x) x++; #define ngx_atomic_inc(x) x++;
#define ngx_atomic_dec(x) x--; #define ngx_atomic_dec(x) x--;

View File

@ -198,6 +198,14 @@ void ngx_assert_core(ngx_log_t *log, const char *fmt, ...);
#define ngx_log_debug2(level, log, err, fmt, arg1, arg2) #define ngx_log_debug2(level, log, err, fmt, arg1, arg2)
#endif #endif
#if (NGX_DEBUG)
#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \
if (log->log_level & level) \
ngx_log_error_core(NGX_LOG_DEBUG, log, err, fmt, arg1, arg2, arg3)
#else
#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3)
#endif
#if (NGX_DEBUG) #if (NGX_DEBUG)
#define ngx_log_debug6(level, log, err, fmt, \ #define ngx_log_debug6(level, log, err, fmt, \
arg1, arg2, arg3, arg4, arg5, arg6) \ arg1, arg2, arg3, arg4, arg5, arg6) \
@ -236,6 +244,14 @@ void ngx_assert_core(ngx_log_t *log, const char *fmt, ...);
#define ngx_log_debug2(level, log, err, fmt, arg1, arg2) #define ngx_log_debug2(level, log, err, fmt, arg1, arg2)
#endif #endif
#if (NGX_DEBUG)
#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \
if (log->log_level & level) \
ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3)
#else
#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3)
#endif
#if (NGX_DEBUG) #if (NGX_DEBUG)
#define ngx_log_debug6(level, log, err, fmt, \ #define ngx_log_debug6(level, log, err, fmt, \
arg1, arg2, arg3, arg4, arg5, arg6) \ arg1, arg2, arg3, arg4, arg5, arg6) \

View File

@ -123,7 +123,7 @@ void ngx_rbtree_insert(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel, void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
ngx_rbtree_t *node) ngx_rbtree_t *node)
{ {
ngx_int_t red; ngx_int_t is_red;
ngx_rbtree_t *subst, *temp, *w; ngx_rbtree_t *subst, *temp, *w;
/* a binary tree delete */ /* a binary tree delete */
@ -152,7 +152,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
return; return;
} }
red = ngx_rbt_is_red(subst); is_red = ngx_rbt_is_red(subst);
if (subst == subst->parent->left) { if (subst == subst->parent->left) {
subst->parent->left = temp; subst->parent->left = temp;
@ -199,7 +199,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
} }
} }
if (red) { if (is_red) {
return; return;
} }
@ -246,7 +246,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
w = temp->parent->left; w = temp->parent->left;
} }
if (ngx_rbt_is_black(w->right) && ngx_rbt_is_black(w->left)) { if (ngx_rbt_is_black(w->left) && ngx_rbt_is_black(w->right)) {
ngx_rbt_red(w); ngx_rbt_red(w);
temp = temp->parent; temp = temp->parent;

View File

@ -286,10 +286,9 @@ static int ngx_kqueue_set_event(ngx_event_t *ev, int filter, u_int flags)
c = ev->data; c = ev->data;
#if (NGX_DEBUG_EVENT) ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0,
ngx_log_debug(ev->log, "kqueue set event: %d: ft:%d fl:%08x" _ "kevent set event: %d: ft:%d fl:%04X",
c->fd _ filter _ flags); c->fd, filter, flags);
#endif
if (nchanges >= max_changes) { if (nchanges >= max_changes) {
ngx_log_error(NGX_LOG_WARN, ev->log, 0, ngx_log_error(NGX_LOG_WARN, ev->log, 0,

View File

@ -21,9 +21,9 @@ int ngx_event_timer_init(ngx_cycle_t *cycle)
} }
ngx_event_timer_rbtree = &ngx_event_timer_sentinel; ngx_event_timer_rbtree = &ngx_event_timer_sentinel;
ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel;
#if 0 #if 0
ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel;
ngx_event_timer_sentinel.right = &ngx_event_timer_sentinel; ngx_event_timer_sentinel.right = &ngx_event_timer_sentinel;
ngx_event_timer_sentinel.parent = &ngx_event_timer_sentinel; ngx_event_timer_sentinel.parent = &ngx_event_timer_sentinel;
#endif #endif
@ -41,19 +41,18 @@ ngx_msec_t ngx_event_find_timer(void)
{ {
ngx_rbtree_t *node; ngx_rbtree_t *node;
if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) {
return 0;
}
node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel);
if (node == &ngx_event_timer_sentinel) { return (ngx_msec_t)
return 0;
} else {
return (ngx_msec_t)
(node->key * NGX_TIMER_RESOLUTION - (node->key * NGX_TIMER_RESOLUTION -
ngx_elapsed_msec / NGX_TIMER_RESOLUTION * NGX_TIMER_RESOLUTION); ngx_elapsed_msec / NGX_TIMER_RESOLUTION * NGX_TIMER_RESOLUTION);
#if 0 #if 0
(node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec); (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec);
#endif #endif
}
} }
@ -63,13 +62,14 @@ void ngx_event_expire_timers(ngx_msec_t timer)
ngx_rbtree_t *node; ngx_rbtree_t *node;
for ( ;; ) { for ( ;; ) {
node = ngx_rbtree_min(ngx_event_timer_rbtree,
&ngx_event_timer_sentinel);
if (node == &ngx_event_timer_sentinel) { if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) {
break; break;
} }
node = ngx_rbtree_min(ngx_event_timer_rbtree,
&ngx_event_timer_sentinel);
if ((ngx_msec_t) node->key <= (ngx_msec_t) if ((ngx_msec_t) node->key <= (ngx_msec_t)
(ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION)
{ {

View File

@ -16,7 +16,7 @@
* 100 msec - 13 years 8 months * 100 msec - 13 years 8 months
*/ */
#define NGX_TIMER_RESOLUTION 50 #define NGX_TIMER_RESOLUTION 1
#if 0 #if 0
@ -36,6 +36,9 @@ extern ngx_rbtree_t ngx_event_timer_sentinel;
ngx_inline static void ngx_event_del_timer(ngx_event_t *ev) ngx_inline static void ngx_event_del_timer(ngx_event_t *ev)
{ {
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0,
"event timer del: %d", ev->rbtree_key);
ngx_rbtree_delete(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel, ngx_rbtree_delete(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel,
(ngx_rbtree_t *) &ev->rbtree_key); (ngx_rbtree_t *) &ev->rbtree_key);
@ -56,6 +59,9 @@ ngx_inline static void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer)
(ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION; (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION;
#endif #endif
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0,
"event timer add: %d", ev->rbtree_key);
ngx_rbtree_insert(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel, ngx_rbtree_insert(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel,
(ngx_rbtree_t *) &ev->rbtree_key); (ngx_rbtree_t *) &ev->rbtree_key);

View File

@ -10,12 +10,6 @@ static char *ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
int ngx_http_max_module; int ngx_http_max_module;
ngx_uint_t ngx_http_reading_state;
ngx_uint_t ngx_http_processing_state;
ngx_uint_t ngx_http_writing_state;
ngx_uint_t ngx_http_lingering_close_state;
ngx_uint_t ngx_http_keepalive_state;
ngx_uint_t ngx_http_total_requests; ngx_uint_t ngx_http_total_requests;
uint64_t ngx_http_total_sent; uint64_t ngx_http_total_sent;

View File

@ -89,12 +89,6 @@ extern ngx_module_t ngx_http_module;
extern int ngx_max_module; extern int ngx_max_module;
extern ngx_uint_t ngx_http_reading_state;
extern ngx_uint_t ngx_http_processing_state;
extern ngx_uint_t ngx_http_writing_state;
extern ngx_uint_t ngx_http_lingering_close_state;
extern ngx_uint_t ngx_http_keepalive_state;
extern ngx_uint_t ngx_http_total_requests; extern ngx_uint_t ngx_http_total_requests;
extern uint64_t ngx_http_total_sent; extern uint64_t ngx_http_total_sent;

View File

@ -107,8 +107,6 @@ void ngx_http_init_connection(ngx_connection_t *c)
return; return;
} }
#endif #endif
ngx_atomic_inc(ngx_http_reading_state);
} }
@ -129,7 +127,6 @@ static void ngx_http_init_request(ngx_event_t *rev)
if (rev->timedout) { if (rev->timedout) {
ngx_log_error(NGX_LOG_INFO, c->log, NGX_ETIMEDOUT, "client timed out"); ngx_log_error(NGX_LOG_INFO, c->log, NGX_ETIMEDOUT, "client timed out");
ngx_atomic_dec(ngx_http_reading_state);
ngx_http_close_connection(c); ngx_http_close_connection(c);
return; return;
} }