Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tests/monitor.c

    r348006f rcb0e6de  
    1313}
    1414
     15monitor_desc * get_monitor( global_t * this ) {
     16        return &this->m;
     17}
     18
    1519static global_t global;
    1620
    17 void increment( /*mutex*/ global_t * this ) {
    18         monitor_desc * mon = &this->m;
    19         monitor_guard_t g1 = { &mon };
    20         {
    21                 monitor_guard_t g2 = { &mon };
    22                 {
    23                         monitor_guard_t g3 = { &mon };
    24                         this->value += 1;
    25                 }
    26         }
     21void increment3( global_t * mutex this ) {
     22        this->value += 1;
    2723}
    2824
    29 struct MyThread { thread_desc t; };
     25void increment2( global_t * mutex this ) {
     26        increment3( this );
     27}
     28
     29void increment( global_t * mutex this ) {
     30        increment2( this );
     31}
     32
     33struct MyThread { thread_desc __thrd; };
    3034
    3135DECL_THREAD(MyThread);
    3236
    3337void ?{}( MyThread * this ) {}
     38void ^?{}( MyThread * mutex this ) {}
    3439
    3540void main( MyThread* this ) {
    36         for(int i = 0; i < 1000000; i++) {
     41        for(int i = 0; i < 1_000_000; i++) {
    3742                increment( &global );
    3843        }
Note: See TracChangeset for help on using the changeset viewer.