Panda3D
Loading...
Searching...
No Matches
lightReMutex.h
Go to the documentation of this file.
1/**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file lightReMutex.h
10 * @author drose
11 * @date 2008-10-08
12 */
13
14#ifndef LIGHTREMUTEX_H
15#define LIGHTREMUTEX_H
16
17#include "pandabase.h"
18#include "mutexDebug.h"
19#include "lightReMutexDirect.h"
20
21/**
22 * A lightweight reentrant mutex. See LightMutex and ReMutex.
23 *
24 * This class inherits its implementation either from MutexDebug or
25 * LightReMutexDirect, depending on the definition of DEBUG_THREADS.
26 */
27#ifdef DEBUG_THREADS
28class EXPCL_PANDA_PIPELINE LightReMutex : public MutexDebug
29#else
30class EXPCL_PANDA_PIPELINE LightReMutex : public LightReMutexDirect
31#endif // DEBUG_THREADS
32{
33PUBLISHED:
34 INLINE LightReMutex();
35public:
36 INLINE explicit LightReMutex(const char *name);
37PUBLISHED:
38 INLINE explicit LightReMutex(const std::string &name);
39 LightReMutex(const LightReMutex &copy) = delete;
40 ~LightReMutex() = default;
41
42 LightReMutex &operator = (const LightReMutex &copy) = delete;
43};
44
45#include "lightReMutex.I"
46
47#endif
This class implements a standard lightReMutex by making direct calls to the underlying implementation...
A lightweight reentrant mutex.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.