#define SH_TAILQ_REMOVE ( head,
elm,
field,
type   ) 

Value:

do {                    \
        if ((elm)->field.stqe_next != -1) {                             \
                SH_TAILQ_NEXTP(elm, field, type)->field.stqe_prev =     \
                    (elm)->field.stqe_prev +                            \
                    SH_PTR_TO_OFF(SH_TAILQ_NEXTP(elm,                   \
                    field, type), elm);                                 \
                *SH_TAILQ_PREVP(elm, field) += elm->field.stqe_next;    \
        } else {                                                        \
                (head)->stqh_last = (elm)->field.stqe_prev +            \
                        SH_PTR_TO_OFF(head, elm);                       \
                *SH_TAILQ_PREVP(elm, field) = -1;                       \
        }                                                               \
} while (0)

Definition at line 208 of file shqueue.h.

Referenced by __dd_abort(), __lock_get_internal(), __lock_put_internal(), __lock_remove_waiter(), __txn_freekids(), CDB___lock_getlocker(), CDB___lock_getobj(), CDB___lock_promote(), CDB___memp_bhfree(), CDB___memp_mf_discard(), CDB___txn_end(), CDB_log_register(), and CDB_memp_fput().


Generated on Sun Jun 8 10:56:56 2008 for GNUmifluz by  doxygen 1.5.5