Remove unused code
The BUFFER_TRACE code was not in use and did not work as the HASHTABLE was removed.
This commit is contained in:
@ -24,24 +24,10 @@
|
|||||||
#include <maxscale/log.h>
|
#include <maxscale/log.h>
|
||||||
#include <maxscale/utils.h>
|
#include <maxscale/utils.h>
|
||||||
|
|
||||||
#if defined (BUFFER_TRACE)
|
|
||||||
#include <maxscale/hashtable.h>
|
|
||||||
#include <execinfo.h>
|
|
||||||
|
|
||||||
static HASHTABLE* buffer_hashtable = NULL;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void gwbuf_free_one(GWBUF* buf);
|
static void gwbuf_free_one(GWBUF* buf);
|
||||||
static buffer_object_t* gwbuf_remove_buffer_object(GWBUF* buf,
|
static buffer_object_t* gwbuf_remove_buffer_object(GWBUF* buf,
|
||||||
buffer_object_t* bufobj);
|
buffer_object_t* bufobj);
|
||||||
|
|
||||||
#if defined (BUFFER_TRACE)
|
|
||||||
static void gwbuf_add_to_hashtable(GWBUF* buf);
|
|
||||||
static int bhashfn(void* key);
|
|
||||||
static int bcmpfn(void* key1, void* key2);
|
|
||||||
static void gwbuf_remove_from_hashtable(GWBUF* buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate a new gateway buffer structure of size bytes.
|
* Allocate a new gateway buffer structure of size bytes.
|
||||||
*
|
*
|
||||||
@ -91,12 +77,6 @@ retblock:
|
|||||||
{
|
{
|
||||||
MXS_ERROR("Memory allocation failed due to %s.", mxs_strerror(errno));
|
MXS_ERROR("Memory allocation failed due to %s.", mxs_strerror(errno));
|
||||||
}
|
}
|
||||||
#if defined (BUFFER_TRACE)
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gwbuf_add_to_hashtable(rval);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,97 +98,6 @@ GWBUF* gwbuf_alloc_and_load(unsigned int size, const void* data)
|
|||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined (BUFFER_TRACE)
|
|
||||||
/**
|
|
||||||
* Store a trace of buffer creation
|
|
||||||
*
|
|
||||||
* @param buf The buffer to record
|
|
||||||
*/
|
|
||||||
static void gwbuf_add_to_hashtable(GWBUF* buf)
|
|
||||||
{
|
|
||||||
void* array[16];
|
|
||||||
size_t size, i, total;
|
|
||||||
char** strings;
|
|
||||||
char* tracetext;
|
|
||||||
|
|
||||||
size = backtrace(array, 16);
|
|
||||||
strings = backtrace_symbols(array, size);
|
|
||||||
total = (2 * size) + 1;
|
|
||||||
for (i = 0; i < size; i++)
|
|
||||||
{
|
|
||||||
total += strlen(strings[i]);
|
|
||||||
}
|
|
||||||
tracetext = (char*)MXS_MALLOC(total);
|
|
||||||
if (tracetext)
|
|
||||||
{
|
|
||||||
char* ptr = tracetext;
|
|
||||||
for (i = 0; i < size; i++)
|
|
||||||
{
|
|
||||||
sprintf(ptr, "\t%s\n", strings[i]);
|
|
||||||
ptr += (strlen(strings[i]) + 2);
|
|
||||||
}
|
|
||||||
free (strings);
|
|
||||||
|
|
||||||
if (NULL == buffer_hashtable)
|
|
||||||
{
|
|
||||||
buffer_hashtable = hashtable_alloc(10000, bhashfn, bcmpfn);
|
|
||||||
hashtable_memory_fns(buffer_hashtable, NULL, NULL, NULL, hashtable_item_free);
|
|
||||||
}
|
|
||||||
hashtable_add(buffer_hashtable, buf, (void*)tracetext);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Hash a buffer (address) to an integer
|
|
||||||
*
|
|
||||||
* @param key The pointer to the buffer
|
|
||||||
*/
|
|
||||||
static int bhashfn(void* key)
|
|
||||||
{
|
|
||||||
return (int)((uintptr_t) key % INT_MAX);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Compare two buffer keys (pointers)
|
|
||||||
*
|
|
||||||
* @param key1 The pointer to the first buffer
|
|
||||||
* @param key2 The pointer to the second buffer
|
|
||||||
*/
|
|
||||||
static int bcmpfn(void* key1, void* key2)
|
|
||||||
{
|
|
||||||
return key1 == key2 ? 0 : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove a buffer from the store of buffer traces
|
|
||||||
*
|
|
||||||
* @param buf The buffer to be removed
|
|
||||||
*/
|
|
||||||
static void gwbuf_remove_from_hashtable(GWBUF* buf)
|
|
||||||
{
|
|
||||||
hashtable_delete(buffer_hashtable, buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print all buffer traces via a given print DCB
|
|
||||||
*
|
|
||||||
* @param pdcb Print DCB for output
|
|
||||||
*/
|
|
||||||
void dprintAllBuffers(void* pdcb)
|
|
||||||
{
|
|
||||||
void* buf;
|
|
||||||
char* backtrace;
|
|
||||||
HASHITERATOR* buffers = hashtable_iterator(buffer_hashtable);
|
|
||||||
while (NULL != (buf = hashtable_next(buffers)))
|
|
||||||
{
|
|
||||||
dcb_printf((DCB*)pdcb, "Buffer: %p\n", (void*)buf);
|
|
||||||
backtrace = hashtable_fetch(buffer_hashtable, buf);
|
|
||||||
dcb_printf((DCB*)pdcb, "%s", backtrace);
|
|
||||||
}
|
|
||||||
hashtable_iterator_free(buffers);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Free a list of gateway buffers
|
* Free a list of gateway buffers
|
||||||
*
|
*
|
||||||
@ -265,9 +154,7 @@ static void gwbuf_free_one(GWBUF* buf)
|
|||||||
buf->hint = buf->hint->next;
|
buf->hint = buf->hint->next;
|
||||||
hint_free(h);
|
hint_free(h);
|
||||||
}
|
}
|
||||||
#if defined (BUFFER_TRACE)
|
|
||||||
gwbuf_remove_from_hashtable(buf);
|
|
||||||
#endif
|
|
||||||
MXS_FREE(buf);
|
MXS_FREE(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,9 +185,7 @@ static GWBUF* gwbuf_clone_one(GWBUF* buf)
|
|||||||
rval->gwbuf_type = buf->gwbuf_type;
|
rval->gwbuf_type = buf->gwbuf_type;
|
||||||
rval->tail = rval;
|
rval->tail = rval;
|
||||||
rval->next = NULL;
|
rval->next = NULL;
|
||||||
#if defined (BUFFER_TRACE)
|
|
||||||
gwbuf_add_to_hashtable(rval);
|
|
||||||
#endif
|
|
||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -381,9 +266,7 @@ static GWBUF* gwbuf_clone_portion(GWBUF* buf,
|
|||||||
clonebuf->hint = NULL;
|
clonebuf->hint = NULL;
|
||||||
clonebuf->next = NULL;
|
clonebuf->next = NULL;
|
||||||
clonebuf->tail = clonebuf;
|
clonebuf->tail = clonebuf;
|
||||||
#if defined (BUFFER_TRACE)
|
|
||||||
gwbuf_add_to_hashtable(clonebuf);
|
|
||||||
#endif
|
|
||||||
return clonebuf;
|
return clonebuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user