diff src/http/ngx_http_busy_lock.h @ 176:c0552e5ab567

nginx-0.0.1-2003-11-09-23:03:38 import; separate building
author Igor Sysoev <igor@sysoev.ru>
date Sun, 09 Nov 2003 20:03:38 +0000
parents e92c2c647c57
children a8ff48d26cca
line wrap: on
line diff
--- a/src/http/ngx_http_busy_lock.h
+++ b/src/http/ngx_http_busy_lock.h
@@ -4,19 +4,20 @@
 
 #include <ngx_config.h>
 #include <ngx_core.h>
+#include <ngx_event.h>
 #include <ngx_http.h>
 
 
 typedef struct {
-    u_char  *busy_mask;
-    char    *busy;
-    int      busy_n;
+    u_char  *md5_mask;
+    char    *md5;
+    int      cachable;
 
-    int      waiting_n;
-    int      max_waiting;
+    int      busy;
+    int      max_busy;
 
-    int      conn_n;
-    int      max_conn;
+    int      waiting;
+    int      max_waiting;
 
     time_t   timeout;
 
@@ -25,7 +26,21 @@ typedef struct {
 } ngx_http_busy_lock_t;
 
 
-int ngx_http_busy_lock(ngx_http_busy_lock_t *bl, u_char *md5);
+typedef struct {
+    time_t         time;
+    ngx_event_t   *event;
+    void         (*event_handler)(ngx_event_t *ev);
+    u_char        *md5;
+    int            slot;
+} ngx_http_busy_lock_ctx_t;
+
+
+int ngx_http_busy_lock(ngx_http_busy_lock_t *bl, ngx_http_busy_lock_ctx_t *bc);
+int ngx_http_busy_lock_cachable(ngx_http_busy_lock_t *bl,
+                                ngx_http_busy_lock_ctx_t *bc, int lock);
+void ngx_http_busy_unlock_cachable(ngx_http_busy_lock_t *bl,
+                                   ngx_http_busy_lock_ctx_t *bc);
+
 char *ngx_http_set_busy_lock_slot(ngx_conf_t *cf, ngx_command_t *cmd,
                                   void *conf);