1 //===-- condition_variable_linux.h ------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef SCUDO_CONDITION_VARIABLE_LINUX_H_
10 #define SCUDO_CONDITION_VARIABLE_LINUX_H_
16 #include "atomic_helpers.h"
17 #include "condition_variable_base.h"
18 #include "thread_annotations.h"
22 class ConditionVariableLinux
23 : public ConditionVariableBase
<ConditionVariableLinux
> {
25 void notifyAllImpl(HybridMutex
&M
) REQUIRES(M
);
27 void waitImpl(HybridMutex
&M
) REQUIRES(M
);
30 u32 LastNotifyAll
= 0;
31 atomic_u32 Counter
= {};
38 #endif // SCUDO_CONDITION_VARIABLE_LINUX_H_