ports/net/ceph14/files/patch-src_rocksdb_util_channel.h
Tobias Kortkamp c362b80958 Fix more fallout for bundled rocksdb after the LLVM 10 import
In file included from rocksdb/utilities/backupable/backupable_db.cc:16:
rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard<std::mutex>'
    std::lock_guard<std::mutex> lk(lock_);
                                ^  ~~~~~
/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier
    explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m))
             ^
/usr/include/c++/v1/__mutex_base💯5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard<std::__1::mutex>' for 1st argument
    lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE;
    ^
/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
    ^
1 error generated.

net/ceph* will still not build because Clang crashes but at least
it goes beyond the above error.
2020-03-18 12:04:51 +00:00

28 lines
1.3 KiB
C++

In file included from rocksdb/utilities/backupable/backupable_db.cc:16:
rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard<std::mutex>'
std::lock_guard<std::mutex> lk(lock_);
^ ~~~~~
/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier
explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m))
^
/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard<std::__1::mutex>' for 1st argument
lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE;
^
/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
^
1 error generated.
https://github.com/facebook/rocksdb/commit/a796c06fef6a8e43d793f8e627db3f29e6f95964
--- src/rocksdb/util/channel.h.orig 2018-04-13 11:22:33 UTC
+++ src/rocksdb/util/channel.h
@@ -62,7 +62,7 @@ class channel {
private:
std::condition_variable cv_;
- std::mutex lock_;
+ mutable std::mutex lock_;
std::queue<T> buffer_;
bool eof_;
};