bsdmalloc man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]


       bsdmalloc - memory allocator

       cc [ flag ... ] file ... -lbsdmalloc [ library ... ]

       char *malloc(sizeunsigned size;

       int free( ptrchar *ptr;

       char *realloc( ptr, sizechar *ptr;
       unsigned size;

       These  routines	provide	 a  general-purpose memory allocation package.
       They maintain a table of free blocks for efficient allocation and  coa‐
       lescing	of free storage. When there is no suitable space already free,
       the allocation routines call sbrk(2) to get more memory from  the  sys‐
       tem. Each of the allocation routines returns a pointer  to  space suit‐
       ably aligned for storage of any type of object.	Each  returns  a  null
       pointer if the request cannot be completed.

       The  malloc()  function	returns a pointer to  a block of at least size
       bytes, which is appropriately aligned.

       The free() function releases a previously allocated block. Its argument
       is  a pointer to a block previously allocated by malloc() or realloc().
       The free() function does not set errno.

       The realloc() function changes the size of the block pointed to by  ptr
       to  size bytes and returns a pointer to the (possibly moved) block. The
       contents will be unchanged up to the lesser of the new and  old	sizes.
       If  the new size of the block requires movement of the block, the space
       for the previous instantiation of the block is freed. If the  new  size
       is larger, the contents of the newly allocated portion of the block are
       unspecified. If ptr is NULL, realloc() behaves like  malloc()  for  the
       specified  size.	 If size is 0 and ptr is not a null pointer, the space
       pointed to is freed.

       The malloc() and realloc() functions return a null pointer if there  is
       not enough available memory. They  return a non-null pointer if size is
       0. These pointers should not be dereferenced.  When  realloc()  returns
       NULL, the block pointed to by ptr is left intact. Always cast the value
       returned by malloc() and realloc().

       If malloc() or realloc() returns	 unsuccessfully, errno will be set  to
       indicate the following:

		 size  bytes  of memory cannot be allocated because it exceeds
		 the physical limits of the system.

		 There is not enough memory available at this point in time to
		 allocate  size bytes of memory; but the application could try
		 again later.

       Using realloc() with a block freed before the most recent call to  mal‐
       loc() or realloc() results in an error.

       Comparative  features  of the various allocation libraries can be found
       in the umem_alloc(3MALLOC) manual page.

       brk(2),	    malloc(3C),	     malloc(3MALLOC),	   mapmalloc(3MALLOC),

       Use of libbsdmalloc renders an application non-SCD compliant.

       The  libbsdmalloc  routines are incompatible with the memory allocation
       routines in the standard C-library (libc): malloc(3C), alloca(3C), cal‐
       loc(3C), free(3C), memalign(3C), realloc(3C), and valloc(3C).

				 Mar 21, 2005		    BSDMALLOC(3MALLOC)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net