aboutsummaryrefslogtreecommitdiff
path: root/src/event/ngx_event_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/ngx_event_thread.c')
-rw-r--r--src/event/ngx_event_thread.c129
1 files changed, 0 insertions, 129 deletions
diff --git a/src/event/ngx_event_thread.c b/src/event/ngx_event_thread.c
deleted file mode 100644
index 527b49cd0..000000000
--- a/src/event/ngx_event_thread.c
+++ /dev/null
@@ -1,129 +0,0 @@
-
-volitile int ngx_last_posted_event;
-
-
-typedef struct {
- ngx_tid_t tid;
- ngx_cv_t cv;
-} ngx_thread_data_t;
-
-static ngx_thread_data_t *threead_data;
-
-
-
-
-
-{
-
- err = ngx_thread_cond_wait(ngx_thread_data_cv, ngx_thread_data_mutex);
-
- tid = ngx_thread_self();
-
- for (i = 0; i < thread_data_n; i++) {
- if (thread_data[i].tid == tid) {
- cv = thread_data[i].cv;
- break;
- }
- }
-
- if (i == thread_data_n) {
- error
- return
- }
-
-
- for ( ;; ) {
-
- err = ngx_thread_cond_wait(cv, ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_cond_wait_n " failed, thread is exiting");
- return;
- }
-
- for ( ;; ) {
- ev = NULL;
-
- for (i = ngx_last_posted_event; i > 0; i--) {
- ev = ngx_posted_events[i];
-
- if (ev == NULL) {
- continue;
- }
-
- err = ngx_thread_mutex_trylock(ev->mutex);
-
- if (err == 0) {
- ngx_posted_events[i] = NULL;
-
- while (ngx_posted_events[ngx_last_posted_event] == NULL) {
- ngx_last_posted_event--;
- }
-
- break;
- }
-
- if (err == NGX_EBUSY) {
- ev = NULL;
- continue;
- }
-
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n " failed,
- thread is exiting");
-
- ngx_worker_thread_error();
- return;
- }
-
- err = ngx_thread_mutex_unlock(ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n
- " failed, thread exiting");
- return;
- }
-
- if (ev == NULL) {
- break;
- }
-
- ngx_event_handle_event(ev);
-
- err = ngx_thread_mutex_unlock(ev->mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n
- " failed, thread exiting");
-
- ngx_worker_thread_error();
- return;
- }
-
- err = ngx_thread_mutex_lock(ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_lock_n
- " failed, thread exiting");
- return;
- }
- }
-
- if (restart) {
- ngx_log_error(NGX_INFO, log, 0, "thread is exiting");
- return;
- }
- }
-}
-
-ngx_worker_thread_error()
-{
- ngx_err_t err;
-
- err = ngx_thread_mutex_unlock(ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n
- " failed, thread exiting");
- }
-}