--- /dev/null
+#ifndef _NGX_SLAB_H_INCLUDED_
+#define _NGX_SLAB_H_INCLUDED_
+
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+
+
+typedef struct ngx_free_slab_s ngx_free_slab_t;
+
+typedef struct ngx_free_slab_s {
+ ngx_free_slab_t *next;
+}
+
+
+typedef struct ngx_slab_block_s ngx_slab_block_t;
+
+typedef struct ngx_slab_block_s {
+ ngx_free_slab_t *free;
+ ngx_slab_buf_t *next;
+ size_t color;
+};
+
+
+typedef struct {
+ ngx_slab_buf_t *blocks;
+ size_t size;
+
+ void *start;
+ uint32_t map;
+
+ ngx_log_t *log;
+ ngx_free_pool_t free;
+} ngx_slab_pool_t;
+
+
+#endif /* _NGX_SLAB_H_INCLUDED_ */
c = ev->data;
+ ngx_log_debug0(NGX_LOG_DEBUG_CORE, ev->log, 0, "channel handler");
+
n = ngx_read_channel(c->fd, &ch, sizeof(ngx_channel_t), ev->log);
+ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, "channel: %d", n);
+
if (n <= 0) {
return;
}
+ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0,
+ "channel command: %d", ch.command);
+
switch (ch.command) {
case NGX_CMD_QUIT: