diff options
author | cmiller@zippy.cornsilk.net <> | 2007-01-11 09:44:39 -0500 |
---|---|---|
committer | cmiller@zippy.cornsilk.net <> | 2007-01-11 09:44:39 -0500 |
commit | 9ff7d182e3bd7cf0762c69e69e012b5c0e0f7c5c (patch) | |
tree | 952691f9cd5aab6f8d9b7ef70a0f657987979599 /mysys | |
parent | 896e2623eb2c47a0be6ca6eb406f040ce129ef93 (diff) | |
parent | 36fc42cb105ad689fab04a55cef70a7df0b238ba (diff) | |
download | mariadb-git-9ff7d182e3bd7cf0762c69e69e012b5c0e0f7c5c.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/mf_iocache.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mysys/mf_iocache.c b/mysys/mf_iocache.c index d458bf528d0..fc81f0bad03 100644 --- a/mysys/mf_iocache.c +++ b/mysys/mf_iocache.c @@ -200,11 +200,11 @@ int init_io_cache(IO_CACHE *info, File file, uint cachesize, if (type != READ_NET && type != WRITE_NET) { /* Retry allocating memory in smaller blocks until we get one */ + cachesize=(uint) ((ulong) (cachesize + min_cache-1) & + (ulong) ~(min_cache-1)); for (;;) { uint buffer_block; - cachesize=(uint) ((ulong) (cachesize + min_cache-1) & - (ulong) ~(min_cache-1)); if (cachesize < min_cache) cachesize = min_cache; buffer_block = cachesize; @@ -223,7 +223,8 @@ int init_io_cache(IO_CACHE *info, File file, uint cachesize, } if (cachesize == min_cache) DBUG_RETURN(2); /* Can't alloc cache */ - cachesize= (uint) ((long) cachesize*3/4); /* Try with less memory */ + /* Try with less memory */ + cachesize= (uint) ((ulong) cachesize*3/4 & (ulong)~(min_cache-1)); } } |