updated protobuf to 3.18.1
This commit is contained in:
10
external/include/google/protobuf/stubs/mutex.h
vendored
10
external/include/google/protobuf/stubs/mutex.h
vendored
@@ -52,10 +52,12 @@
|
||||
__attribute__((acquire_capability(__VA_ARGS__)))
|
||||
#define GOOGLE_PROTOBUF_RELEASE(...) \
|
||||
__attribute__((release_capability(__VA_ARGS__)))
|
||||
#define GOOGLE_PROTOBUF_SCOPED_CAPABILITY __attribute__((scoped_lockable))
|
||||
#define GOOGLE_PROTOBUF_CAPABILITY(x) __attribute__((capability(x)))
|
||||
#else
|
||||
#define GOOGLE_PROTOBUF_ACQUIRE(...)
|
||||
#define GOOGLE_PROTOBUF_RELEASE(...)
|
||||
#define GOOGLE_PROTOBUF_SCOPED_CAPABILITY
|
||||
#define GOOGLE_PROTOBUF_CAPABILITY(x)
|
||||
#endif
|
||||
|
||||
@@ -140,10 +142,12 @@ class GOOGLE_PROTOBUF_CAPABILITY("mutex") PROTOBUF_EXPORT WrappedMutex {
|
||||
using Mutex = WrappedMutex;
|
||||
|
||||
// MutexLock(mu) acquires mu when constructed and releases it when destroyed.
|
||||
class PROTOBUF_EXPORT MutexLock {
|
||||
class GOOGLE_PROTOBUF_SCOPED_CAPABILITY PROTOBUF_EXPORT MutexLock {
|
||||
public:
|
||||
explicit MutexLock(Mutex *mu) : mu_(mu) { this->mu_->Lock(); }
|
||||
~MutexLock() { this->mu_->Unlock(); }
|
||||
explicit MutexLock(Mutex *mu) GOOGLE_PROTOBUF_ACQUIRE(mu) : mu_(mu) {
|
||||
this->mu_->Lock();
|
||||
}
|
||||
~MutexLock() GOOGLE_PROTOBUF_RELEASE() { this->mu_->Unlock(); }
|
||||
private:
|
||||
Mutex *const mu_;
|
||||
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MutexLock);
|
||||
|
||||
Reference in New Issue
Block a user