aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2014-08-25 13:34:39 +0400
committerValentin Bartenev <vbart@nginx.com>2014-08-25 13:34:39 +0400
commit246152c864a7136cc81abe6d2c5926288748d65c (patch)
tree9a95e82f5e137b9591cc1024becae02d9ce0b913 /src
parent2d16e3c3a1f56b0a424a1052bfc82737f5208db3 (diff)
downloadnginx-246152c864a7136cc81abe6d2c5926288748d65c.tar.gz
nginx-246152c864a7136cc81abe6d2c5926288748d65c.zip
Events: removed broken thread support from event timers.
It's mostly dead code. And the idea of thread support for this task has been deprecated.
Diffstat (limited to 'src')
-rw-r--r--src/core/ngx_rbtree.c6
-rw-r--r--src/core/ngx_rbtree.h6
-rw-r--r--src/event/ngx_event_timer.c34
-rw-r--r--src/event/ngx_event_timer.h15
-rw-r--r--src/os/unix/ngx_process_cycle.c1
5 files changed, 7 insertions, 55 deletions
diff --git a/src/core/ngx_rbtree.c b/src/core/ngx_rbtree.c
index 914ca7e88..6c66f4061 100644
--- a/src/core/ngx_rbtree.c
+++ b/src/core/ngx_rbtree.c
@@ -22,8 +22,7 @@ static ngx_inline void ngx_rbtree_right_rotate(ngx_rbtree_node_t **root,
void
-ngx_rbtree_insert(ngx_thread_volatile ngx_rbtree_t *tree,
- ngx_rbtree_node_t *node)
+ngx_rbtree_insert(ngx_rbtree_t *tree, ngx_rbtree_node_t *node)
{
ngx_rbtree_node_t **root, *temp, *sentinel;
@@ -155,8 +154,7 @@ ngx_rbtree_insert_timer_value(ngx_rbtree_node_t *temp, ngx_rbtree_node_t *node,
void
-ngx_rbtree_delete(ngx_thread_volatile ngx_rbtree_t *tree,
- ngx_rbtree_node_t *node)
+ngx_rbtree_delete(ngx_rbtree_t *tree, ngx_rbtree_node_t *node)
{
ngx_uint_t red;
ngx_rbtree_node_t **root, *sentinel, *subst, *temp, *w;
diff --git a/src/core/ngx_rbtree.h b/src/core/ngx_rbtree.h
index 6e47a5bbb..1d33e3f6e 100644
--- a/src/core/ngx_rbtree.h
+++ b/src/core/ngx_rbtree.h
@@ -48,10 +48,8 @@ struct ngx_rbtree_s {
(tree)->insert = i
-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);
+void ngx_rbtree_insert(ngx_rbtree_t *tree, ngx_rbtree_node_t *node);
+void ngx_rbtree_delete(ngx_rbtree_t *tree, ngx_rbtree_node_t *node);
void ngx_rbtree_insert_value(ngx_rbtree_node_t *root, ngx_rbtree_node_t *node,
ngx_rbtree_node_t *sentinel);
void ngx_rbtree_insert_timer_value(ngx_rbtree_node_t *root,
diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c
index 107558649..db43e26e7 100644
--- a/src/event/ngx_event_timer.c
+++ b/src/event/ngx_event_timer.c
@@ -10,13 +10,8 @@
#include <ngx_event.h>
-#if (NGX_THREADS)
-ngx_mutex_t *ngx_event_timer_mutex;
-#endif
-
-
-ngx_thread_volatile ngx_rbtree_t ngx_event_timer_rbtree;
-static ngx_rbtree_node_t ngx_event_timer_sentinel;
+ngx_rbtree_t ngx_event_timer_rbtree;
+static ngx_rbtree_node_t ngx_event_timer_sentinel;
/*
* the event timer rbtree may contain the duplicate keys, however,
@@ -30,20 +25,6 @@ ngx_event_timer_init(ngx_log_t *log)
ngx_rbtree_init(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel,
ngx_rbtree_insert_timer_value);
-#if (NGX_THREADS)
-
- if (ngx_event_timer_mutex) {
- ngx_event_timer_mutex->log = log;
- return NGX_OK;
- }
-
- ngx_event_timer_mutex = ngx_mutex_init(log, 0);
- if (ngx_event_timer_mutex == NULL) {
- return NGX_ERROR;
- }
-
-#endif
-
return NGX_OK;
}
@@ -58,15 +39,11 @@ ngx_event_find_timer(void)
return NGX_TIMER_INFINITE;
}
- ngx_mutex_lock(ngx_event_timer_mutex);
-
root = ngx_event_timer_rbtree.root;
sentinel = ngx_event_timer_rbtree.sentinel;
node = ngx_rbtree_min(root, sentinel);
- ngx_mutex_unlock(ngx_event_timer_mutex);
-
timer = (ngx_msec_int_t) (node->key - ngx_current_msec);
return (ngx_msec_t) (timer > 0 ? timer : 0);
@@ -82,9 +59,6 @@ ngx_event_expire_timers(void)
sentinel = ngx_event_timer_rbtree.sentinel;
for ( ;; ) {
-
- ngx_mutex_lock(ngx_event_timer_mutex);
-
root = ngx_event_timer_rbtree.root;
if (root == sentinel) {
@@ -104,8 +78,6 @@ ngx_event_expire_timers(void)
ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer);
- ngx_mutex_unlock(ngx_event_timer_mutex);
-
#if (NGX_DEBUG)
ev->timer.left = NULL;
ev->timer.right = NULL;
@@ -123,6 +95,4 @@ ngx_event_expire_timers(void)
break;
}
-
- ngx_mutex_unlock(ngx_event_timer_mutex);
}
diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h
index ec9b316bd..df55d3cd6 100644
--- a/src/event/ngx_event_timer.h
+++ b/src/event/ngx_event_timer.h
@@ -24,12 +24,7 @@ ngx_msec_t ngx_event_find_timer(void);
void ngx_event_expire_timers(void);
-#if (NGX_THREADS)
-extern ngx_mutex_t *ngx_event_timer_mutex;
-#endif
-
-
-extern ngx_thread_volatile ngx_rbtree_t ngx_event_timer_rbtree;
+extern ngx_rbtree_t ngx_event_timer_rbtree;
static ngx_inline void
@@ -39,12 +34,8 @@ ngx_event_del_timer(ngx_event_t *ev)
"event timer del: %d: %M",
ngx_event_ident(ev->data), ev->timer.key);
- ngx_mutex_lock(ngx_event_timer_mutex);
-
ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer);
- ngx_mutex_unlock(ngx_event_timer_mutex);
-
#if (NGX_DEBUG)
ev->timer.left = NULL;
ev->timer.right = NULL;
@@ -89,12 +80,8 @@ ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer)
"event timer add: %d: %M:%M",
ngx_event_ident(ev->data), timer, ev->timer.key);
- ngx_mutex_lock(ngx_event_timer_mutex);
-
ngx_rbtree_insert(&ngx_event_timer_rbtree, &ev->timer);
- ngx_mutex_unlock(ngx_event_timer_mutex);
-
ev->timer_set = 1;
}
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index 6c84ba8bd..196394488 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -1213,7 +1213,6 @@ ngx_wakeup_worker_threads(ngx_cycle_t *cycle)
/* STUB */
ngx_done_events(cycle);
- ngx_mutex_destroy(ngx_event_timer_mutex);
return;
}