119 lines
2.2 KiB
Groff
119 lines
2.2 KiB
Groff
|
||
|
||
BRK(2) Minix Programmer's Manual BRK(2)
|
||
|
||
|
||
NAME
|
||
brk, sbrk - change data segment size
|
||
|
||
SYNOPSIS
|
||
#include <unistd.h>
|
||
|
||
char *brk(char *addr)
|
||
|
||
char *sbrk(int incr)
|
||
|
||
DESCRIPTION
|
||
Brk sets the system's idea of the lowest data segment location not used
|
||
by the program (called the break) to addr. Locations greater than addr
|
||
and below the stack pointer are not in the address space and will thus
|
||
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.
|
||
|
||
When a program begins execution via execve the break is set at the
|
||
highest location defined by the program and data storage areas.
|
||
Ordinarily, therefore, only programs with growing data areas need to use
|
||
sbrk.
|
||
|
||
RETURN VALUE
|
||
The address of the new break is returned if brk succeeds; -1 if the
|
||
program requests more memory than the system limit. Sbrk returns -1 if
|
||
the break could not be set.
|
||
|
||
ERRORS
|
||
Sbrk will fail and no additional memory will be allocated if one of the
|
||
following are true:
|
||
|
||
[ENOMEM] The maximum possible size of a data segment (as set by
|
||
chmem(1)) was exceeded.
|
||
|
||
[ENOMEM] Insufficient virtual memory space existed to support the
|
||
expansion. (Minix-vmd)
|
||
|
||
SEE ALSO
|
||
chmem(1), execve(2), malloc(3), end(3).
|
||
|
||
NOTES
|
||
Minix-vmd rounds a small data segment limit up to 3 megabytes.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
4BSD May 22, 1986 1
|
||
|
||
|
||
|
||
BRK(2) Minix Programmer's Manual BRK(2)
|
||
|
||
|
||
BUGS
|
||
Setting the break may fail due to a temporary lack of virtual memory
|
||
under Minix-vmd. It is not possible to distinguish this from a failure
|
||
caused by exceeding the maximum size of the data segment.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
4BSD May 22, 1986 2
|
||
|