Ignore:
Timestamp:
Mar 21, 2017, 3:11:30 PM (8 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
da6d4566
Parents:
cb0e6de
Message:

Removed unnecessary synchronisation routines in threads, now using monitor instead

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/invoke.h

    rcb0e6de r9c31349  
    3838      };
    3939
    40       struct signal_once {
    41             volatile bool condition;
    42             struct spinlock lock;
    43             struct simple_thread_list blocked;
    44       };
    45 
    4640      #ifdef __CFORALL__
    4741      extern "Cforall" {
     
    5246            void ?{}(spinlock * this);
    5347            void ^?{}(spinlock * this);
    54 
    55             void ?{}(signal_once * this);
    56             void ^?{}(signal_once * this);
    5748      }
    5849      #endif
     
    8879      struct thread_desc {
    8980            struct coroutine_desc cor;          // coroutine body used to store context
    90             struct monitor_desc mon;
    91             struct signal_once terminated;      // indicate if execuation state is not halted
     81            struct monitor_desc mon;            // monitor body used for mutual exclusion
    9282            struct thread_desc * next;          // instrusive link field for threads
    9383      };
Note: See TracChangeset for help on using the changeset viewer.