Rev | Author | # | Line |
---|---|---|---|
1 | perry | 1 | BRK |
2 | !!!BRK | ||
3 | ---- | ||
4 | !!NAME | ||
5 | |||
6 | brk, sbrk - change data segment size | ||
7 | !!SYNOPSIS | ||
2 | PerryLorier | 8 | __#include <unistd.h>__ |
9 | __int brk(void *__''end_data_segment''__);__ | ||
10 | __void *sbrk(ptrdiff_t__ ''increment''__);__ | ||
1 | perry | 11 | |
12 | !!DESCRIPTION | ||
2 | PerryLorier | 13 | __brk__ sets the end of the data segment to the value specified by ''end_data_segment'', when that value is reasonable, the system does have enough memory and the process does not exceed its max data size (see |
1 | perry | 14 | setrlimit(2)). |
15 | |||
2 | PerryLorier | 16 | __sbrk__ increments the program's data space by ''increment'' bytes. __sbrk__ isn't a system call, it is just a C library wrapper. Calling __sbrk__ with an increment of 0 can be used to find the current location of |
1 | perry | 17 | the program break. |
18 | !!RETURN VALUE | ||
2 | PerryLorier | 19 | On success, __brk__ returns zero, and __sbrk__ returns a pointer to the start of the new area. On error, -1 is returned, and ''errno'' is set to [ENOMEM]. |
1 | perry | 20 | |
21 | !!CONFORMING TO | ||
22 | |||
23 | BSD 4.3 | ||
24 | |||
2 | PerryLorier | 25 | __brk__ and __sbrk__ are not defined in the C Standard and are deliberately excluded from the POSIX.1 standard (see paragraphs B.1.1.1.3 and B.8.3.3). |
1 | perry | 26 | !!SEE ALSO |
2 | PerryLorier | 27 | execve(2), getrlimit(2), malloc(3) |
lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 5 times)