nginx-0.0.1-2003-12-05-10:11:46 import
diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c
index 296c748..db97d01 100644
--- a/src/event/ngx_event_timer.c
+++ b/src/event/ngx_event_timer.c
@@ -23,7 +23,7 @@
 }
 
 
-int ngx_event_find_timer(void)
+ngx_msec_t ngx_event_find_timer(void)
 {
     ngx_rbtree_t  *node;
 
@@ -33,7 +33,8 @@
         return 0;
 
     } else {
-        return node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec;
+        return (ngx_msec_t)
+                         (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec);
     }
 }
 
@@ -50,11 +51,11 @@
             break;
         }
 
-        if ((ngx_msec_t) node->key <=
+        if ((ngx_msec_t) node->key <= (ngx_msec_t)
                              (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION)
         {
             ev = (ngx_event_t *)
-                               ((char *) node - offsetof(ngx_event_t, rbtree));
+                           ((char *) node - offsetof(ngx_event_t, rbtree_key));
 
             ngx_del_timer(ev);