summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-08-13 04:10:31 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-08-13 04:10:31 (GMT)
commita7304e80a36d144801bafb0b24b0e8b1a3c3f17e (patch)
treec6b6c12ad43255320a891814501483bc0cd5a398
parent9ec01d6222fea3c293df01909ccd960d9137f19f (diff)
downloadhdf5-a7304e80a36d144801bafb0b24b0e8b1a3c3f17e.zip
hdf5-a7304e80a36d144801bafb0b24b0e8b1a3c3f17e.tar.gz
hdf5-a7304e80a36d144801bafb0b24b0e8b1a3c3f17e.tar.bz2
[svn-r12570] Description:
Refactor file memory allocation code slightly, to make it clearer, along with adding/correcting some comments. Tested on: FreeBSD 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
-rw-r--r--src/H5FD.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/src/H5FD.c b/src/H5FD.c
index 8ce3125..d1eaffe 100644
--- a/src/H5FD.c
+++ b/src/H5FD.c
@@ -55,11 +55,11 @@ static herr_t H5FD_pl_close(hid_t driver_id, herr_t (*free_func)(void *),
void *pl);
static herr_t H5FD_free_cls(H5FD_class_t *cls);
static haddr_t H5FD_alloc_from_free_list(H5FD_t *file, H5FD_mem_t type,
- H5FD_mem_t mapped_type, hsize_t size);
+ hsize_t size);
static haddr_t H5FD_alloc_metadata(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id,
- hsize_t size);
+ hsize_t size);
static haddr_t H5FD_alloc_raw(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id,
- hsize_t size);
+ hsize_t size);
static haddr_t H5FD_real_alloc(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size);
static haddr_t H5FD_update_eoa(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size);
@@ -1505,7 +1505,6 @@ done:
haddr_t
H5FD_alloc(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
{
- H5FD_mem_t mapped_type;
haddr_t ret_value = HADDR_UNDEF;
FUNC_ENTER_NOAPI(H5FD_alloc, HADDR_UNDEF)
@@ -1522,15 +1521,8 @@ H5FD_alloc(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
FUNC, file->alignment, file->threshold, size);
#endif /* H5F_DEBUG */
- /* Map the allocation request to a free list */
- if (H5FD_MEM_DEFAULT == file->cls->fl_map[type])
- mapped_type = type;
- else
- mapped_type = file->cls->fl_map[type];
-
/* Try to allocate from the free list first */
- if ((ret_value = H5FD_alloc_from_free_list(file, type,
- mapped_type, size)) != HADDR_UNDEF)
+ if ((ret_value = H5FD_alloc_from_free_list(file, type, size)) != HADDR_UNDEF)
HGOTO_DONE(ret_value)
#ifdef H5F_DEBUG
@@ -1567,9 +1559,9 @@ done:
*-------------------------------------------------------------------------
*/
static haddr_t
-H5FD_alloc_from_free_list(H5FD_t *file, H5FD_mem_t type,
- H5FD_mem_t mapped_type, hsize_t size)
+H5FD_alloc_from_free_list(H5FD_t *file, H5FD_mem_t type, hsize_t size)
{
+ H5FD_mem_t mapped_type;
haddr_t ret_value = HADDR_UNDEF;
FUNC_ENTER_NOAPI(H5FD_alloc_from_free_list, HADDR_UNDEF)
@@ -1578,6 +1570,12 @@ H5FD_alloc_from_free_list(H5FD_t *file, H5FD_mem_t type,
assert(type >= H5FD_MEM_DEFAULT && type < H5FD_MEM_NTYPES);
assert(size > 0);
+ /* Map the allocation request to a free list */
+ if (H5FD_MEM_DEFAULT == file->cls->fl_map[type])
+ mapped_type = type;
+ else
+ mapped_type = file->cls->fl_map[type];
+
/*
* Try to satisfy the request from the free list. Only perform the
* search if the free list has the potential of satisfying the
@@ -1893,7 +1891,7 @@ H5FD_alloc_metadata(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
done:
FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5FD_alloc_metadata() */
/*-------------------------------------------------------------------------
@@ -2003,7 +2001,7 @@ H5FD_alloc_raw(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
done:
FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5FD_alloc_raw() */
/*-------------------------------------------------------------------------
@@ -2137,7 +2135,7 @@ H5FD_update_eoa(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
done:
FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5FD_update_eoa() */
/*-------------------------------------------------------------------------