Пример #1
0
static void busyloop_sub32(tbox_t *tbox)
{
    do {
        busyloop_read32(tbox);
        apr_atomic_sub32(tbox->mem, tbox->postval);
    } while (--tbox->loop);
}
Пример #2
0
static void busyloop_xchg32(tbox_t *tbox)
{
    apr_uint32_t val;

    do {
        busyloop_read32(tbox);
        val = apr_atomic_xchg32(tbox->mem, tbox->postval);
        apr_thread_mutex_lock(thread_lock);
        ABTS_INT_EQUAL(tbox->tc, val, tbox->preval);
        apr_thread_mutex_unlock(thread_lock);
    } while (--tbox->loop);
}
Пример #3
0
static void busyloop_dec32(tbox_t *tbox)
{
    apr_uint32_t val;

    do {
        busyloop_read32(tbox);
        val = apr_atomic_dec32(tbox->mem);
        apr_thread_mutex_lock(thread_lock);
        ABTS_INT_NEQUAL(tbox->tc, 0, val);
        apr_thread_mutex_unlock(thread_lock);
    } while (--tbox->loop);
}