Changeset 508b0df1 in mainline for uspace/lib/graph/graph.c


Ignore:
Timestamp:
2018-09-06T20:21:52Z (6 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
78de83de, fc10e1b
Parents:
4621d23
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-08-13 03:53:39)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-09-06 20:21:52)
Message:

Remove uspace <atomic.h>, use <stdatomic.h> instead

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/graph/graph.c

    r4621d23 r508b0df1  
    7070{
    7171        link_initialize(&vs->link);
    72         atomic_set(&vs->ref_cnt, 0);
     72        atomic_flag_clear(&vs->claimed);
    7373        vs->notif_sess = NULL;
    7474        fibril_mutex_initialize(&vs->mode_mtx);
     
    8383        // TODO
    8484        link_initialize(&rnd->link);
    85         atomic_set(&rnd->ref_cnt, 0);
     85        refcount_init(&rnd->ref_cnt);
    8686}
    8787
     
    173173        }
    174174
     175        if (rnd)
     176                refcount_up(&rnd->ref_cnt);
     177
    175178        fibril_mutex_unlock(&renderer_list_mtx);
    176179
     
    200203void graph_destroy_visualizer(visualizer_t *vs)
    201204{
    202         assert(atomic_get(&vs->ref_cnt) == 0);
     205        assert(!atomic_flag_test_and_set(&vs->claimed));
    203206        assert(vs->notif_sess == NULL);
    204207        assert(!fibril_mutex_is_locked(&vs->mode_mtx));
     
    214217{
    215218        // TODO
    216         assert(atomic_get(&rnd->ref_cnt) == 0);
    217 
    218         free(rnd);
     219        if (refcount_down(&rnd->ref_cnt))
     220                free(rnd);
    219221}
    220222
     
    493495{
    494496        /* Claim the visualizer. */
    495         if (!cas(&vs->ref_cnt, 0, 1)) {
     497        if (atomic_flag_test_and_set(&vs->claimed)) {
    496498                async_answer_0(icall, ELIMIT);
    497499                return;
     
    559561        async_hangup(vs->notif_sess);
    560562        vs->notif_sess = NULL;
    561         atomic_set(&vs->ref_cnt, 0);
     563        atomic_flag_clear(&vs->claimed);
    562564}
    563565
     
    567569
    568570        /* Accept the connection. */
    569         atomic_inc(&rnd->ref_cnt);
    570571        async_answer_0(icall, EOK);
    571572
     
    588589
    589590terminate:
    590         atomic_dec(&rnd->ref_cnt);
     591        graph_destroy_renderer(rnd);
    591592}
    592593
Note: See TracChangeset for help on using the changeset viewer.