Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ brk(2) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

shmop(2)

ulimit(2)

end(3C)



     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
                            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.

     ORIGIN



     Page 1                                        (last mod. 8/20/87)





     BRK(2)                                                     BRK(2)



          AT&T V.3






















































     Page 2                                        (last mod. 8/20/87)



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