brk
sets the high end of the calling process' data segment to
addr.
The address of the end of a segment is defined to be the address of the
last byte in the segment plus 1.
The function has no effect if addr is lower than the low end of
the data segment. (This is considered success, by the way).
The function fails if it would cause the data segment to overlap another
segment or exceed the process' data storage limit (see Limits on Resources).
The function is named for a common historical case where data storage
and the stack are in the same segment. Data storage allocation grows
upward from the bottom of the segment while the stack grows downward
toward it from the top of the segment and the curtain between them is
called the break.
The return value is zero on success. On failure, the return value is
-1
and errno
is set accordingly. The following errno
values are specific to this function:
ENOMEM
- The request would cause the data segment to overlap another segment or
exceed the process' data storage limit.