Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  BRK(2)                                                     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's data segment [see
       exec(2)].  The change is made by resetting the process's
       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 zero.  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.

       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 IO is
                         temporarily insufficient [see shmop(2)].
                         This may occur even though the space


  Page 1                                                   May 1989


















  BRK(2)                                                     BRK(2)



                         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.
































  Page 2                                                   May 1989
















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