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

Value:

do {            \
        if ((head)->stqh_first != -1) {                                 \
                (elm)->field.stqe_next =                                \
                    (head)->stqh_first - SH_PTR_TO_OFF(head, elm);      \
                SH_TAILQ_FIRSTP(head, type)->field.stqe_prev =          \
                        SH_TAILQ_NEXT_TO_PREV(elm, field);              \
        } else {                                                        \
                (elm)->field.stqe_next = -1;                            \
                (head)->stqh_last =                                     \
                    SH_PTR_TO_OFF(head, &(elm)->field.stqe_next);       \
        }                                                               \
        (head)->stqh_first = SH_PTR_TO_OFF(head, elm);                  \
        (elm)->field.stqe_prev =                                        \
            SH_PTR_TO_OFF(elm, &(head)->stqh_first);                    \
} while (0)

Definition at line 162 of file shqueue.h.

Referenced by __lock_checklocker(), __lock_get_internal(), __lock_init(), __lock_put_internal(), __memp_mf_open(), __txn_begin(), CDB___lock_freelocker(), CDB_log_register(), CDB_memp_fget(), and CDB_memp_fput().


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