Peano
Loading...
Searching...
No Matches
RecursiveSemaphore.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
4#if !defined(_TARCH_MULTICORE_RECURSIVE_SEMAPHORE_H_) && defined(SharedOMP)
5#define _TARCH_MULTICORE_RECURSIVE_SEMAPHORE_H_
6
7namespace tarch {
8 namespace multicore {
9 class RecursiveSemaphore;
10 class RecursiveLock;
11 }
12}
13
14#include <string>
15#include <thread>
16#include "omp.h"
17
19#include "tarch/logging/Log.h"
20
31 private:
33
34 omp_nest_lock_t lock;
35
39
44
48 inline RecursiveSemaphore& operator = (const RecursiveSemaphore&) { return *this; }
49
50 public:
53
55};
56
57#endif
Create a lock around a boolean semaphore region.
tarch::multicore::RecursiveLock Lock
RecursiveSemaphore & operator=(const RecursiveSemaphore &)
You may not copy a semaphore.
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
Definition accelerator.h:19