Ignore:
Timestamp:
Feb 23, 2017, 4:24:35 PM (6 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
aaron-thesis, arm-eh, 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:
3bb51e1
Parents:
485fdcf
Message:

Basic monitor implementation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/monitor

    r485fdcf rf07e037  
     1//                              -*- Mode: CFA -*-
     2//
     3// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
     4//
     5// The contents of this file are covered under the licence agreement in the
     6// file "LICENCE" distributed with Cforall.
     7//
     8// monitor --
     9//
     10// Author           : Thierry Delisle
     11// Created On       : Thd Feb 23 12:27:26 2017
     12// Last Modified By : Thierry Delisle
     13// Last Modified On : --
     14// Update Count     : 0
     15//
     16
     17#ifndef MONITOR_H
     18#define MONITOR_H
     19
     20#include "assert"
     21#include "invoke.h"
     22
     23struct monitor {
     24        spinlock lock;
     25        thread * holder;
     26        simple_thread_list entry_queue;
     27};
     28
     29void enter(monitor *);
     30void leave(monitor *);
     31
     32#endif //MONITOR_H
Note: See TracChangeset for help on using the changeset viewer.