Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/lib/mempool.c @ 8590:b9faf4db2a9f HEAD
Updated copyright notices to include year 2009.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 06 Jan 2009 09:25:38 -0500 |
parents | 7ed926ed7aa4 |
children | ea833e894759 |
rev | line source |
---|---|
8590
b9faf4db2a9f
Updated copyright notices to include year 2009.
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
1 /* Copyright (c) 2005-2009 Dovecot authors, see the included COPYING file */ |
3234
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 #include "lib.h" |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
4 |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
5 size_t pool_get_exp_grown_size(pool_t pool, size_t old_size, size_t min_size) |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 { |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 size_t exp_size, easy_size; |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
8 |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
9 i_assert(old_size < min_size); |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
10 |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
11 exp_size = nearest_power(min_size); |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
12 easy_size = old_size + p_get_max_easy_alloc_size(pool); |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 if (easy_size < exp_size && easy_size >= min_size) |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
15 exp_size = easy_size; |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
16 return exp_size; |
06f9da4ff7a5
Added pool_get_exp_grown_size(). Use it for buffers, istreams and ostreams
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 } |