diff options
| author | Jorge Boncompte [DTI2] <jorge@dti2.net> | 2012-05-07 16:53:14 +0000 | 
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2012-05-22 20:50:14 +0200 | 
| commit | 22714f99c4ffeb4d1bade7ad6374adeba0e06e4c (patch) | |
| tree | 43b6e720bc05ad1bc5748d8d8a08c725a7fe6a90 /lib/thread.h | |
| parent | 64018324d5e5071eea3b3f72f939d91dc7aef029 (diff) | |
lib: do not allocate/free thread funcnames
  This avoids memory heap fragmentation and imposses less load on the
system memory allocator.
* thread.h: FUNCNAME_LEN defined to 64 (ISO C99 says max 63)
Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
[changed FUNCNAME_LEN to a less arbitrary value]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'lib/thread.h')
| -rw-r--r-- | lib/thread.h | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/lib/thread.h b/lib/thread.h index 56f4d073..67902cf6 100644 --- a/lib/thread.h +++ b/lib/thread.h @@ -62,6 +62,9 @@ struct thread_master  typedef unsigned char thread_type; +/* ISO C99 maximum function name length is 63 */ +#define FUNCNAME_LEN	64 +  /* Thread itself. */  struct thread  { @@ -79,13 +82,12 @@ struct thread    } u;    struct timeval real;    struct cpu_thread_history *hist; /* cache pointer to cpu_history */ -  char* funcname; +  char funcname[FUNCNAME_LEN];  };  struct cpu_thread_history   {    int (*func)(struct thread *); -  char *funcname;    unsigned int total_calls;    struct time_stats    { @@ -95,6 +97,7 @@ struct cpu_thread_history    struct time_stats cpu;  #endif    thread_type types; +  char funcname[FUNCNAME_LEN];  };  /* Clocks supported by Quagga */ | 
