Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ATOMIC_INT_ADD(D3) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       ATOMIC_INT_ADD(D3)                                ATOMIC_INT_ADD(D3)


       NAME
             ATOMIC_INT_ADD - add to an ATOMIC_INT value

       SYNOPSIS
             #include <sys/types.h>
             #include <sys/ksynch.h>
             #include <sys/ddi.h>
             void ATOMIC_INT_ADD(atomic_int_t *counter, int value);

          Arguments
             counter   Points to an ATOMIC_INT object to be modified by the
                       addition.

             value     The value to add to the contents of counter.

       DESCRIPTION
             ATOMIC_INT_ADD adds value to the integer value stored within
             the atomic_int_t object pointed to by counter. The result of
             the addition is stored back into the object referenced by
             counter.

          Return Values
             None.

       USAGE
             The ATOMIC_INT(D4) object pointed to by counter must have been
             previously allocated by ATOMIC_INT_ALLOC(D3) and initialized
             by ATOMIC_INT_INIT(D3).

          Warnings
             The atomicity properties of ATOMIC_INT objects (as defined in
             the Synchronization Constraints section below) are strictly
             limited to a single object. Drivers should be careful not to
             assume any ordering of operations between two instances of
             ATOMIC_INT objects, or between these objects and objects whose
             access patterns are serialized by means of locks, unless such
             ordering is explicitly arranged for in the driver through use
             of locks. In particular, drivers should not assume that
             arbitrary writes will be observed in any particular order by
             another engine.

          Level
             Initialization, Base or Interrupt.





                           Copyright 1994 Novell, Inc.               Page 1













      ATOMIC_INT_ADD(D3)                                ATOMIC_INT_ADD(D3)


         Synchronization Constraints
            For any single ATOMIC_INT object, the following operations on
            that object are serialized: ATOMIC_INT_ADD(D3),
            ATOMIC_INT_DECR(D3), ATOMIC_INT_INCR(D3), ATOMIC_INT_READ(D3),
            ATOMIC_INT_SUB(D3), and ATOMIC_INT_WRITE(D3).  This means that
            the results of a set of these operations on multiple engines
            will appear as though they had occurred in some specific order
            on a single engine.

            Driver-defined basic locks, read/write locks, and sleep locks
            may be held across calls to this function.

      REFERENCES
            ATOMIC_INT(D4), ATOMIC_INT_ALLOC(D3), ATOMIC_INT_DEALLOC(D3),
            ATOMIC_INT_DECR(D3), ATOMIC_INT_INCR(D3), ATOMIC_INT_INIT(D3),
            ATOMIC_INT_READ(D3), ATOMIC_INT_SUB(D3), ATOMIC_INT_WRITE(D3)

      NOTICES
         Portability
            All processors

         Applicability
            ddi: 6, 6mp, 7, 7mp

























                          Copyright 1994 Novell, Inc.               Page 2








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