annotate src/core/ngx_slab.c @ 825:f9b9b84a8e18

bad commit
author Igor Sysoev <igor@sysoev.ru>
date Sat, 28 Oct 2006 14:20:13 +0000
parents 42d11f017717
children 4390fcad6628
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 357
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 357
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 357
diff changeset
4 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 357
diff changeset
5
357
e260514b9ad4 nginx-0.0.7-2004-06-16-23:36:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6
825
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
7 typedef struct ngx_slab_map_s ngx_slab_map_t;
357
e260514b9ad4 nginx-0.0.7-2004-06-16-23:36:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8
825
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
9 struct ngx_http_slab_map_s {
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
10 uintptr_t mask;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
11 ngx_slab_elt_t *next;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
12 };
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
13
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
14
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
15 typedef struct {
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
16 ngx_slab_elt_t *slabs;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
17
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
18 ngx_slab_elt_t *map;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
19 size_t map_size;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
20
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
21 size_t size;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
22
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
23 } ngx_slab_t;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
24
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
25
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
26 void *
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
27 ngx_slab_init(ngx_slab_pool_t *pool, size_t size)
357
e260514b9ad4 nginx-0.0.7-2004-06-16-23:36:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28 {
825
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
29 slab->map_size = (slab->size + ngx_pagesize - 1)
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
30 / (ngx_pagesize / sizeof(ngx_slab_map_t));
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
31
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
32
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
33 return NULL;
357
e260514b9ad4 nginx-0.0.7-2004-06-16-23:36:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34 }
825
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
35
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
36
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
37 void *
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
38 ngx_slab_alloc(ngx_slab_t *pool, size_t size)
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
39 {
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
40 n = size - 1;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
41
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
42
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
43 return NULL;
f9b9b84a8e18 bad commit
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
44 }