A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
model-checker : if get_libsimgrid_plt_section called before first snapshot, libsimgri...
[simgrid.git]
/
src
/
xbt
/
fifo.c
diff --git
a/src/xbt/fifo.c
b/src/xbt/fifo.c
index
7db645e
..
7a425f6
100644
(file)
--- a/
src/xbt/fifo.c
+++ b/
src/xbt/fifo.c
@@
-13,7
+13,7
@@
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_fifo, xbt, "FIFO");
static void *fifo_item_mallocator_new_f(void);
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_fifo, xbt, "FIFO");
static void *fifo_item_mallocator_new_f(void);
-static void fifo_item_mallocator_free_f(void *item);
+#define fifo_item_mallocator_free_f xbt_free_f
static void fifo_item_mallocator_reset_f(void *item);
static xbt_mallocator_t item_mallocator = NULL;
static void fifo_item_mallocator_reset_f(void *item);
static xbt_mallocator_t item_mallocator = NULL;
@@
-375,11
+375,6
@@
static void *fifo_item_mallocator_new_f(void)
return xbt_new(s_xbt_fifo_item_t, 1);
}
return xbt_new(s_xbt_fifo_item_t, 1);
}
-static void fifo_item_mallocator_free_f(void *item)
-{
- xbt_free(item);
-}
-
static void fifo_item_mallocator_reset_f(void *item)
{
/* memset to zero like calloc */
static void fifo_item_mallocator_reset_f(void *item)
{
/* memset to zero like calloc */
@@
-389,7
+384,7
@@
static void fifo_item_mallocator_reset_f(void *item)
/** Constructor
* \return a new bucket
*/
/** Constructor
* \return a new bucket
*/
-xbt_fifo_item_t xbt_fifo_new_item(void)
+
XBT_INLINE
xbt_fifo_item_t xbt_fifo_new_item(void)
{
return xbt_mallocator_get(item_mallocator);
}
{
return xbt_mallocator_get(item_mallocator);
}
@@
-427,7
+422,7
@@
XBT_INLINE void *xbt_fifo_get_item_content(xbt_fifo_item_t i)
*
* Free the bucket but does not modifies the object (if any) that was stored in it.
*/
*
* Free the bucket but does not modifies the object (if any) that was stored in it.
*/
-void xbt_fifo_free_item(xbt_fifo_item_t b)
+
XBT_INLINE
void xbt_fifo_free_item(xbt_fifo_item_t b)
{
xbt_mallocator_release(item_mallocator, b);
return;
{
xbt_mallocator_release(item_mallocator, b);
return;
@@
-455,8
+450,10
@@
XBT_INLINE int xbt_fifo_size(xbt_fifo_t f)
/**
* \param l a list
* \return the head of \a l.
/**
* \param l a list
* \return the head of \a l.
+ *
+ * Returns NULL if the list is empty.
*/
*/
-xbt_fifo_item_t xbt_fifo_get_first_item(xbt_fifo_t l)
+
XBT_INLINE
xbt_fifo_item_t xbt_fifo_get_first_item(xbt_fifo_t l)
{
return l->head;
}
{
return l->head;
}
@@
-464,8
+461,10
@@
xbt_fifo_item_t xbt_fifo_get_first_item(xbt_fifo_t l)
/**
* \param l a list
* \return the tail of \a l.
/**
* \param l a list
* \return the tail of \a l.
+ *
+ * Returns NULL if the list is empty.
*/
*/
-xbt_fifo_item_t xbt_fifo_get_last_item(xbt_fifo_t l)
+
XBT_INLINE
xbt_fifo_item_t xbt_fifo_get_last_item(xbt_fifo_t l)
{
return l->tail;
}
{
return l->tail;
}
@@
-481,6
+480,8
@@
XBT_INLINE xbt_fifo_item_t xbt_fifo_getFirstItem(xbt_fifo_t l)
/**
* \param i a bucket
* \return the bucket that comes next
/**
* \param i a bucket
* \return the bucket that comes next
+ *
+ * Returns NULL if \a i is the tail of the list.
*/
XBT_INLINE xbt_fifo_item_t xbt_fifo_get_next_item(xbt_fifo_item_t i)
{
*/
XBT_INLINE xbt_fifo_item_t xbt_fifo_get_next_item(xbt_fifo_item_t i)
{
@@
-500,6
+501,8
@@
xbt_fifo_item_t xbt_fifo_getNextItem(xbt_fifo_item_t i)
/**
* \param i a bucket
* \return the bucket that is just before \a i.
/**
* \param i a bucket
* \return the bucket that is just before \a i.
+ *
+ * Returns NULL if \a i is the head of the list.
*/
XBT_INLINE xbt_fifo_item_t xbt_fifo_get_prev_item(xbt_fifo_item_t i)
{
*/
XBT_INLINE xbt_fifo_item_t xbt_fifo_get_prev_item(xbt_fifo_item_t i)
{
@@
-522,11
+525,6
@@
xbt_fifo_item_t xbt_fifo_getPrevItem(xbt_fifo_item_t i)
*/
void xbt_fifo_preinit(void)
{
*/
void xbt_fifo_preinit(void)
{
- if (item_mallocator != NULL) {
- /* Already created. I guess we want to switch to MC mode, so kill the previously created mallocator */
- xbt_mallocator_free(item_mallocator);
- }
-
item_mallocator = xbt_mallocator_new(65536,
fifo_item_mallocator_new_f,
fifo_item_mallocator_free_f,
item_mallocator = xbt_mallocator_new(65536,
fifo_item_mallocator_new_f,
fifo_item_mallocator_free_f,