<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>&nbsp;&nbsp;<a href='https://github.com/OpenSIPS/opensips/pull/736'>https://github.com/OpenSIPS/opensips/pull/736</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>menuconfig: add posibility to toggle options in Compile Flags menu</li>
  <li>q_malloc: change memory dump output to show summary of allocated fragments</li>
  <li>add memory status dump to f_malloc and hp_malloc</li>
  <li>use the compile flag DBG_MALLOC to debug any memory allocator</li>
  <li>small changes to debug output for q_malloc, f_malloc and hp_malloc</li>
  <li>q_malloc: don&#39;t abort on free(NULL) when debug is enabled</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-0">Makefile.conf.template</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-1">Makefile.defs</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-2">context.c</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-3">mem/common.h</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-4">mem/f_malloc.c</a>
    (156)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-5">mem/f_malloc.h</a>
    (22)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-6">mem/hp_malloc.c</a>
    (435)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-7">mem/hp_malloc.h</a>
    (65)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-8">mem/hp_malloc_stats.c</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-9">mem/hp_malloc_stats.h</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-10">mem/mem.c</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-11">mem/mem.h</a>
    (33)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-12">mem/mem_dbg_hash.c</a>
    (80)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-13">mem/mem_dbg_hash.h</a>
    (40)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-14">mem/memtest.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-15">mem/q_malloc.c</a>
    (148)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-16">mem/q_malloc.h</a>
    (17)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-17">mem/shm_mem.c</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-18">mem/shm_mem.h</a>
    (40)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-19">mem/vq_malloc.c</a>
    (30)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-20">mem/vq_malloc.h</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-21">menuconfig/commands.c</a>
    (22)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-22">menuconfig/curses.c</a>
    (20)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-23">menuconfig/items.h</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-24">menuconfig/parser.c</a>
    (27)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-25">menuconfig/parser.h</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-26">mi/mi_core.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/736/files#diff-27">version.h</a>
    (22)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/OpenSIPS/opensips/pull/736.patch'>https://github.com/OpenSIPS/opensips/pull/736.patch</a></li>
  <li><a href='https://github.com/OpenSIPS/opensips/pull/736.diff'>https://github.com/OpenSIPS/opensips/pull/736.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/OpenSIPS/opensips/pull/736">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AFOciWuFsWMqQm5lvtWFh4h-KQxon5Okks5pSpikgaJpZM4G6ju1.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/OpenSIPS/opensips/pull/736"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>