Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sbrk(2) — sys5 — Apollo Domain/OS SR10.4.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

shmop(2)

ulimit(2)

end(3C)

BRK(2)                               SysV                               BRK(2)



NAME
     brk, sbrk - change data segment space allocation

SYNOPSIS
     int brk (endds)
     char *endds;

     char *sbrk (incr)
     int incr;

DESCRIPTION
     brk and sbrk are used to change dynamically the amount of space allocated
     for the calling process' data segment (see exec(2)).  The change is made
     by resetting the process' break value and allocating the appropriate
     amount of space. The break value is the address of the first location
     beyond the end of the data segment.  The amount of allocated space
     increases as the break value increases.  Newly allocated space is set to
     0.  If, however, the same memory space is reallocated to the same
     process, its contents are undefined.

     brk sets the break value to endds and changes the allocated space
     accordingly.

     sbrk adds incr bytes to the break value and changes the allocated space
     accordingly.  incr can be negative, in which case the amount of allocated
     space is decreased.

ERRORS
     brk and sbrk will fail without making any change in the allocated space
     if one or more of the following are true:

     [ENOMEM]       Such a change would result in more space being allocated
                    than is allowed by the system-imposed maximum process size
                    (see ulimit(2)).

     [EAGAIN]       Total amount of system memory available for a read during
                    physical I/O is temporarily insufficient (see shmop(2)).
                    This may occur even though the space requested was less
                    than the system-imposed maximum process size (see
                    ulimit(2)).

SEE ALSO
     exec(2), shmop(2), ulimit(2), end(3C).

DIAGNOSTICS
     Upon successful completion, brk returns a value of 0 and sbrk returns the
     old break value.  Otherwise, a value of -1 is returned and errno is set
     to indicate the error.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026