BRK(2) System Calls Manual BRK(2)
NAME
brk, sbrk - change memory allocation
SYNOPSIS
#include <u.h>
#include <libc.h>
int brk(void *addr)
void* sbrk(ulong incr)
DESCRIPTION
Brk sets the system's idea of the lowest bss location not used by the program (called the break) to addr rounded up to the next multiple of
8 bytes. Locations not less than addr and below the stack pointer may cause a memory violation if accessed.
In the alternate function sbrk, incr more bytes are added to the program's data space and a pointer to the start of the new area is
returned. Rounding occurs as with brk.
When a program begins execution via exec the break is set at the highest location defined by the program and data storage areas. Ordinar-
ily, therefore, only programs with growing data areas need to use brk. A call to sbrk with a zero argument returns the lowest address in
the dynamic segment.
SOURCE
/sys/src/libc/9sys/sbrk.c
SEE ALSO
intro(2), malloc(2), segattach(2), segbrk(2)
DIAGNOSTICS
These functions set errstr.
The error return from sbrk is (void*)-1.
BRK(2)