nginx-0.0.2-2004-03-01-00:03:02 import
diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c
index 498fd9f..8983d99 100644
--- a/src/event/ngx_event_timer.c
+++ b/src/event/ngx_event_timer.c
@@ -9,22 +9,26 @@
 #endif
 
 
-ngx_rbtree_t  *ngx_event_timer_rbtree;
-ngx_rbtree_t   ngx_event_timer_sentinel;
+volatile ngx_rbtree_t  *ngx_event_timer_rbtree;
+ngx_rbtree_t            ngx_event_timer_sentinel;
 
 
 ngx_int_t ngx_event_timer_init(ngx_log_t *log)
 {
     if (ngx_event_timer_rbtree) {
+#if (NGX_THREADS)
         ngx_event_timer_mutex->log = log;
+#endif
         return NGX_OK;
     }
 
     ngx_event_timer_rbtree = &ngx_event_timer_sentinel;
 
+#if (NGX_THREADS)
     if (!(ngx_event_timer_mutex = ngx_mutex_init(log, 0))) {
         return NGX_ERROR;
     }
+#endif
 
     return NGX_OK;
 }
@@ -44,7 +48,8 @@
     }
 #endif
 
-    node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel);
+    node = ngx_rbtree_min((ngx_rbtree_t *) ngx_event_timer_rbtree,
+                          &ngx_event_timer_sentinel);
 
 #if (NGX_THREADS)
     ngx_mutex_unlock(ngx_event_timer_mutex);
@@ -76,7 +81,7 @@
         }
 #endif
 
-        node = ngx_rbtree_min(ngx_event_timer_rbtree,
+        node = ngx_rbtree_min((ngx_rbtree_t *) ngx_event_timer_rbtree,
                               &ngx_event_timer_sentinel);
 
 #if (NGX_THREADS)