summaryrefslogtreecommitdiff
path: root/devel/libmemmgr/pkg/DESCR
blob: b3970b2f253a4d4a7663b24608e17e5bdb328c7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
MemMgr is a fairly trivial memory management library.  There
is little it does that cannot be done using routines in  the
C library.  (In fact, allocation and disposal is implemented
using C library routines.)  The purposes of MemMgr are  two-
fold.

(i)  Minimize  configuration  burden  on  applications  that
     dynamically allocate memory.  For instance, malloc() on
     some  systems  returns  a  char  pointer;  on others it
     returns a void pointer.  The  MemMgr  library  routines
     encapsulate  system-specific  configuration differences
     and exports a fixed interface which is  system-indepen-
     dent.  Once you compile and install it, you just use it
     without thinking about whether your UNIX is System V or
     BSD inspired.

(ii) Provide  two parallel sets of allocation routines which
     either return NULL  (for  applications  which  want  to
     check)  or panic (for applications which simply want to
     die) on allocation failures.  Panicking is  implemented
     using the ETM library, which introduces a dependency on
     the ETM distribution.  So be it.  I use ETM for all  my
     programs anyway