Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sbrk(2) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

ulimit(2)

getrlimit(2)

memcntl(2)



     sbrk(2)                    DG/UX 4.30                     sbrk(2)



     NAME
          sbrk - change data segment space allocation

     SYNOPSIS
          char *  sbrk    (increment)
          int     increment;

     PARAMETERS
          increment      The signed increment by which to change the
                         data area size.

     DESCRIPTION
          The sbrk system call dynamically changes the amount of space
          allocated for the calling process's data segment; see
          exec(2).  The change is made by adding increment to the
          process's current break value and allocating or deallocating
          the appropriate amount of space.  The break value is the
          address of the first byte beyond the end of the data
          segment.  The amount of allocated space increases as the
          break value increases. If increment is positive, space is
          allocated.  The newly allocated space is set to zero; that
          is, if these addresses are read before they are written, the
          contents will be zero.  If increment is negative, space is
          deallocated from the data segment.  The contents of the
          addresses from the new break value to the current break
          value become undefined.

          There is a maximum possible break value for a process; this
          value may be determined with the ulimit(2) call.  An
          implementation or machine architecture-dependent minimum
          value exists; this address is one byte greater than the
          ending address of a data area which contains one page, as
          defined by the implementation.

          The sbrk call will fail without making any change in the
          allocated space if an error occurs.

     ACCESS CONTROL
          No access check is made.

     RETURN VALUE
          An address     The sbrk operation was successful; the value
                         returned is the break value before the call
                         was made.

          -1             An error occurred.  Errno is set to indicate
                         the error.

     EXCEPTIONS
          Errno may be set to one of the following error codes:

          ENOMEM         The change would allocate more space than is



     Licensed material--property of copyright holder(s)         Page 1





     sbrk(2)                    DG/UX 4.30                     sbrk(2)



                         allowed by a system-imposed maximum (see
                         ulimit(2)).

          ENOMEM         The change would allocate more space than is
                         allowed by the current data resource limit
                         (see getrlimit(2)).

          ENOMEM         The change would make the break value greater
                         than or equal to the start address of an
                         attached shared memory segment (see
                         shmat(2)).

          EFAULT         The change would make the break value less
                         than the system-imposed minimum.

          EAGAIN         The change would allocate more space than the
                         available physical memory and swap space.

          EAGAIN         The system-imposed limit on space locked into
                         physical memory would be exceeded; the
                         MCL_FUTURE memory locking option is in effect
                         for the calling process (see memcntl(2)).

     SEE ALSO
          exec(2), ulimit(2), getrlimit(2), memcntl(2).






























     Licensed material--property of copyright holder(s)         Page 2



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