fast_mblock suport alloc and free object
parent
8ace700d0b
commit
bcd00f4079
7
HISTORY
7
HISTORY
|
|
@ -1,4 +1,9 @@
|
||||||
|
|
||||||
|
Version 1.15 2015-06-15
|
||||||
|
* fast_mblock.c support none lock
|
||||||
|
* ioevent support set timeout
|
||||||
|
* fast_mblock suport alloc and free object
|
||||||
|
|
||||||
Version 1.14 2015-06-12
|
Version 1.14 2015-06-12
|
||||||
* fast_task_info support set_buffer_size and realloc_buffer
|
* fast_task_info support set_buffer_size and realloc_buffer
|
||||||
* use file lock when write logger header
|
* use file lock when write logger header
|
||||||
|
|
@ -6,8 +11,6 @@ Version 1.14 2015-06-12
|
||||||
* macro FDFS_WRITE_BUFF_SIZE change to FAST_WRITE_BUFF_SIZE
|
* macro FDFS_WRITE_BUFF_SIZE change to FAST_WRITE_BUFF_SIZE
|
||||||
* logger.c call log_check_rotate in lock
|
* logger.c call log_check_rotate in lock
|
||||||
* bug fixed: log header correctly when rotate
|
* bug fixed: log header correctly when rotate
|
||||||
* fast_mblock.c support none lock
|
|
||||||
* ioevent support set timeout
|
|
||||||
|
|
||||||
Version 1.13 2015-02-27
|
Version 1.13 2015-02-27
|
||||||
* support php extension
|
* support php extension
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Name: libfastcommon
|
Name: libfastcommon
|
||||||
Version: 1.0.14
|
Version: 1.0.15
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: c common functions library extracted from my open source projects FastDFS
|
Summary: c common functions library extracted from my open source projects FastDFS
|
||||||
License: GPL
|
License: GPL
|
||||||
|
|
|
||||||
|
|
@ -88,11 +88,41 @@ free a node (put a node to the mblock)
|
||||||
parameters:
|
parameters:
|
||||||
mblock: the mblock pointer
|
mblock: the mblock pointer
|
||||||
pNode: the node to free
|
pNode: the node to free
|
||||||
return the alloced node, return NULL if fail
|
return 0 for success, return none zero if fail
|
||||||
*/
|
*/
|
||||||
int fast_mblock_free(struct fast_mblock_man *mblock, \
|
int fast_mblock_free(struct fast_mblock_man *mblock,
|
||||||
struct fast_mblock_node *pNode);
|
struct fast_mblock_node *pNode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
alloc a object from the mblock
|
||||||
|
parameters:
|
||||||
|
mblock: the mblock pointer
|
||||||
|
return the alloced object, return NULL if fail
|
||||||
|
*/
|
||||||
|
static inline void *fast_mblock_alloc_object(struct fast_mblock_man *mblock)
|
||||||
|
{
|
||||||
|
struct fast_mblock_node *node;
|
||||||
|
node = fast_mblock_alloc(mblock);
|
||||||
|
if (node == NULL)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return node->data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
free a object (put the object to the mblock)
|
||||||
|
parameters:
|
||||||
|
mblock: the mblock pointer
|
||||||
|
object: the object to free
|
||||||
|
return 0 for success, return none zero if fail
|
||||||
|
*/
|
||||||
|
static inline int fast_mblock_free_object(struct fast_mblock_man *mblock,
|
||||||
|
void *object)
|
||||||
|
{
|
||||||
|
return fast_mblock_free(mblock, fast_mblock_to_node_ptr(object));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
get node count of the mblock
|
get node count of the mblock
|
||||||
parameters:
|
parameters:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue