This is an automated email from the ASF dual-hosted git repository.
wwbmmm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brpc.git
The following commit(s) were added to refs/heads/master by this push:
new 5c034141 Remove redundant const of ThreadLocal (#2855)
5c034141 is described below
commit 5c0341410c1ea77210337df7c42bb99fe0ce3fe5
Author: Bright Chen <[email protected]>
AuthorDate: Tue Dec 31 15:32:45 2024 +0800
Remove redundant const of ThreadLocal (#2855)
---
src/butil/thread_key.h | 4 ++--
test/thread_key_unittest.cpp | 15 +++++++++++----
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/butil/thread_key.h b/src/butil/thread_key.h
index e95fa2fa..c150528b 100644
--- a/src/butil/thread_key.h
+++ b/src/butil/thread_key.h
@@ -108,9 +108,9 @@ public:
T* get();
- T* operator->() const { return get(); }
+ T* operator->() { return get(); }
- T& operator*() const { return *get(); }
+ T& operator*() { return *get(); }
// Iterate through all thread local objects.
// Callback, which must accept Args params and return void,
diff --git a/test/thread_key_unittest.cpp b/test/thread_key_unittest.cpp
index f254ce41..5a95b8f0 100644
--- a/test/thread_key_unittest.cpp
+++ b/test/thread_key_unittest.cpp
@@ -46,6 +46,10 @@ struct ThreadKeyInfo {
uint32_t seq;
};
+struct ThreadKeyData {
+ int a{0};
+};
+
TEST(ThreadLocalTest, sanity) {
{
ThreadKey key;
@@ -65,13 +69,16 @@ TEST(ThreadLocalTest, sanity) {
}
for (int i = 0; i < 5; ++i) {
- ThreadLocal<int> tl;
- ASSERT_TRUE(tl.get()!=NULL);
- int* data = new int;
+ ThreadLocal<ThreadKeyData> tl;
+ ASSERT_TRUE(tl.get());
+ ASSERT_EQ(tl->a, 0);
+ auto data = new ThreadKeyData;
+ data->a = 1;
tl.reset(data); // tl owns data
ASSERT_EQ(data, tl.get());
+ ASSERT_EQ((*tl).a, 1);
tl.reset(); // data has been deleted
- ASSERT_TRUE(tl.get()!=NULL);
+ ASSERT_TRUE(tl.get());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]