Ignore:
Timestamp:
2019-06-27T08:51:20Z (6 years ago)
Author:
Jaroslav Jindrak <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8add15e0
Parents:
ad40b74b (diff), aeba767 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

cpp: merge and resolve conflicts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/__bits/thread/threading.hpp

    rad40b74b rbc73be3  
    3030#define LIBCPP_BITS_THREAD_THREADING
    3131
    32 namespace std::hel
    33 {
    34     extern "C" {
    35         #include <async.h>
    36         #include <fibril.h>
    37         #include <fibril_synch.h>
    38     }
    39 }
    40 
    4132#include <chrono>
     33
     34#include <fibril.h>
     35#include <fibril_synch.h>
    4236
    4337namespace std::aux
     
    5549    struct threading_policy<fibril_tag>
    5650    {
    57         using mutex_type        = hel::fibril_mutex_t;
    58         using thread_type       = hel::fid_t;
    59         using condvar_type      = hel::fibril_condvar_t;
    60         using time_unit         = hel::usec_t;
    61         using shared_mutex_type = hel::fibril_rwlock_t;
     51        using mutex_type        = ::helenos::fibril_mutex_t;
     52        using thread_type       = ::helenos::fid_t;
     53        using condvar_type      = ::helenos::fibril_condvar_t;
     54        using time_unit         = ::helenos::usec_t;
     55        using shared_mutex_type = ::helenos::fibril_rwlock_t;
    6256
    6357        struct thread
     
    6660            static thread_type create(Callable clbl, Payload& pld)
    6761            {
    68                 return hel::fibril_create(clbl, (void*)&pld);
     62                return ::helenos::fibril_create(clbl, (void*)&pld);
    6963            }
    7064
    7165            static void start(thread_type thr)
    7266            {
    73                 hel::fibril_add_ready(thr);
     67                ::helenos::fibril_add_ready(thr);
    7468            }
    7569
    7670            static thread_type this_thread()
    7771            {
    78                 return hel::fibril_get_id();
     72                return ::helenos::fibril_get_id();
    7973            }
    8074
    8175            static void yield()
    8276            {
    83                 hel::fibril_yield();
     77                ::helenos::fibril_yield();
    8478            }
    8579
     
    9589            static void init(mutex_type& mtx)
    9690            {
    97                 hel::fibril_mutex_initialize(&mtx);
     91                ::helenos::fibril_mutex_initialize(&mtx);
    9892            }
    9993
    10094            static void lock(mutex_type& mtx)
    10195            {
    102                 hel::fibril_mutex_lock(&mtx);
     96                ::helenos::fibril_mutex_lock(&mtx);
    10397            }
    10498
    10599            static void unlock(mutex_type& mtx)
    106100            {
    107                 hel::fibril_mutex_unlock(&mtx);
     101                ::helenos::fibril_mutex_unlock(&mtx);
    108102            }
    109103
    110104            static bool try_lock(mutex_type& mtx)
    111105            {
    112                 return hel::fibril_mutex_trylock(&mtx);
     106                return ::helenos::fibril_mutex_trylock(&mtx);
    113107            }
    114108
     
    124118            static void init(condvar_type& cv)
    125119            {
    126                 hel::fibril_condvar_initialize(&cv);
     120                ::helenos::fibril_condvar_initialize(&cv);
    127121            }
    128122
    129123            static void wait(condvar_type& cv, mutex_type& mtx)
    130124            {
    131                 hel::fibril_condvar_wait(&cv, &mtx);
     125                ::helenos::fibril_condvar_wait(&cv, &mtx);
    132126            }
    133127
    134128            static int wait_for(condvar_type& cv, mutex_type& mtx, time_unit timeout)
    135129            {
    136                 return hel::fibril_condvar_wait_timeout(&cv, &mtx, timeout);
     130                return ::helenos::fibril_condvar_wait_timeout(&cv, &mtx, timeout);
    137131            }
    138132
    139133            static void signal(condvar_type& cv)
    140134            {
    141                 hel::fibril_condvar_signal(&cv);
     135                ::helenos::fibril_condvar_signal(&cv);
    142136            }
    143137
    144138            static void broadcast(condvar_type& cv)
    145139            {
    146                 hel::fibril_condvar_broadcast(&cv);
     140                ::helenos::fibril_condvar_broadcast(&cv);
    147141            }
    148142        };
     
    158152            static void sleep(time_unit time)
    159153            {
    160                 hel::fibril_usleep(time);
     154                ::helenos::fibril_usleep(time);
    161155            }
    162156        };
     
    166160            static void init(shared_mutex_type& mtx)
    167161            {
    168                 hel::fibril_rwlock_initialize(&mtx);
     162                ::helenos::fibril_rwlock_initialize(&mtx);
    169163            }
    170164
    171165            static void lock(shared_mutex_type& mtx)
    172166            {
    173                 hel::fibril_rwlock_write_lock(&mtx);
     167                ::helenos::fibril_rwlock_write_lock(&mtx);
    174168            }
    175169
    176170            static void unlock(shared_mutex_type& mtx)
    177171            {
    178                 hel::fibril_rwlock_write_unlock(&mtx);
     172                ::helenos::fibril_rwlock_write_unlock(&mtx);
    179173            }
    180174
    181175            static void lock_shared(shared_mutex_type& mtx)
    182176            {
    183                 hel::fibril_rwlock_read_lock(&mtx);
     177                ::helenos::fibril_rwlock_read_lock(&mtx);
    184178            }
    185179
    186180            static void unlock_shared(shared_mutex_type& mtx)
    187181            {
    188                 hel::fibril_rwlock_read_unlock(&mtx);
     182                ::helenos::fibril_rwlock_read_unlock(&mtx);
    189183            }
    190184
Note: See TracChangeset for help on using the changeset viewer.