Skip to content

Commit 2edc069

Browse files
committed
Explicitly init some std::atomic.
GitOrigin-RevId: bfbe95bd1aaed9c3ade31d9a7222b223bfece347
1 parent 0ac8c2d commit 2edc069

15 files changed

Lines changed: 42 additions & 46 deletions

File tree

‎benchmark/bench_crypto.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ BENCH(TdRandFast, "td_rand_fast") {
110110
#if !TD_THREAD_UNSUPPORTED
111111
BENCH(SslRand, "ssl_rand_int32") {
112112
std::vector<td::thread> v;
113-
std::atomic<td::uint32> sum;
113+
std::atomic<td::uint32> sum{0};
114114
for (int i = 0; i < 3; i++) {
115115
v.push_back(td::thread([&] {
116116
td::int32 res = 0;

‎benchmark/bench_queue.cpp‎

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@
2828
#include <sys/eventfd.h>
2929
#endif
3030

31-
using std::atomic;
32-
using std::vector;
33-
34-
using td::int32;
35-
using td::uint32;
36-
3731
#define MODE std::memory_order_relaxed
3832

3933
// void set_affinity(int mask) {
@@ -100,7 +94,7 @@ class Backoff {
10094
};
10195

10296
class VarQueue {
103-
atomic<qvalue_t> data;
97+
std::atomic<qvalue_t> data{0};
10498

10599
public:
106100
void init() {
@@ -218,17 +212,17 @@ const int queue_buf_size = 1 << 10;
218212
class BufferQueue {
219213
struct node {
220214
qvalue_t val;
221-
char pad[64 - sizeof(atomic<qvalue_t>)];
215+
char pad[64 - sizeof(std::atomic<qvalue_t>)];
222216
};
223217
node q[queue_buf_size];
224218

225219
struct Position {
226-
atomic<uint32> i;
227-
char pad[64 - sizeof(atomic<uint32>)];
220+
std::atomic<td::uint32> i{0};
221+
char pad[64 - sizeof(std::atomic<td::uint32>)];
228222

229-
uint32 local_read_i;
230-
uint32 local_write_i;
231-
char pad2[64 - sizeof(uint32) * 2];
223+
td::uint32 local_read_i;
224+
td::uint32 local_write_i;
225+
char pad2[64 - sizeof(td::uint32) * 2];
232226

233227
void init() {
234228
i = 0;
@@ -342,7 +336,7 @@ class BufferQueue {
342336
#if TD_LINUX
343337
class BufferedFdQueue {
344338
int fd;
345-
atomic<int> wait_flag;
339+
std::atomic<int> wait_flag{0};
346340
BufferQueue q;
347341
char pad[64];
348342

@@ -440,7 +434,7 @@ class BufferedFdQueue {
440434

441435
class FdQueue {
442436
int fd;
443-
atomic<int> wait_flag;
437+
std::atomic<int> wait_flag{0};
444438
VarQueue q;
445439
char pad[64];
446440

@@ -572,8 +566,8 @@ class QueueBenchmark2 : public td::Benchmark {
572566

573567
int server_active_connections;
574568
int client_active_connections;
575-
vector<td::int64> server_conn;
576-
vector<td::int64> client_conn;
569+
std::vector<td::int64> server_conn;
570+
std::vector<td::int64> client_conn;
577571

578572
public:
579573
explicit QueueBenchmark2(int connections_n = 1) : connections_n(connections_n) {
@@ -615,7 +609,7 @@ class QueueBenchmark2 : public td::Benchmark {
615609
}
616610

617611
void *server_run(void *) {
618-
server_conn = vector<td::int64>(connections_n);
612+
server_conn = std::vector<td::int64>(connections_n);
619613
server_active_connections = connections_n;
620614

621615
while (server_active_connections > 0) {
@@ -656,7 +650,7 @@ class QueueBenchmark2 : public td::Benchmark {
656650
}
657651

658652
void *client_run(void *) {
659-
client_conn = vector<td::int64>(connections_n);
653+
client_conn = std::vector<td::int64>(connections_n);
660654
client_active_connections = connections_n;
661655
if (queries_n >= (1 << 24)) {
662656
std::fprintf(stderr, "Too big queries_n\n");
@@ -732,7 +726,7 @@ class QueueBenchmark : public td::Benchmark {
732726
}
733727

734728
void *server_run(void *) {
735-
vector<td::int64> conn(connections_n);
729+
std::vector<td::int64> conn(connections_n);
736730
int active_connections = connections_n;
737731
while (active_connections > 0) {
738732
qvalue_t value = server.get();
@@ -756,7 +750,7 @@ class QueueBenchmark : public td::Benchmark {
756750
}
757751

758752
void *client_run(void *) {
759-
vector<td::int64> conn(connections_n);
753+
std::vector<td::int64> conn(connections_n);
760754
if (queries_n >= (1 << 24)) {
761755
std::fprintf(stderr, "Too big queries_n\n");
762756
std::exit(0);
@@ -789,7 +783,7 @@ class QueueBenchmark : public td::Benchmark {
789783
}
790784

791785
void *client_run2(void *) {
792-
vector<td::int64> conn(connections_n);
786+
std::vector<td::int64> conn(connections_n);
793787
if (queries_n >= (1 << 24)) {
794788
std::fprintf(stderr, "Too big queries_n\n");
795789
std::exit(0);

‎memprof/memprof.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ static int fast_backtrace(void **buffer, int size) {
7272
return i;
7373
}
7474

75-
static std::atomic<std::size_t> fast_backtrace_failed_cnt, backtrace_total_cnt;
75+
static std::atomic<std::size_t> fast_backtrace_failed_cnt;
76+
static std::atomic<std::size_t> backtrace_total_cnt;
7677
double get_fast_backtrace_success_rate() {
7778
return 1 - static_cast<double>(fast_backtrace_failed_cnt.load(std::memory_order_relaxed)) /
7879
static_cast<double>(std::max(std::size_t(1), backtrace_total_cnt.load(std::memory_order_relaxed)));

‎td/telegram/Global.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -378,8 +378,8 @@ class Global : public ActorContext {
378378
int32 gc_scheduler_id_;
379379
int32 slow_net_scheduler_id_;
380380

381-
std::atomic<double> server_time_difference_;
382-
std::atomic<bool> server_time_difference_was_updated_;
381+
std::atomic<double> server_time_difference_{0.0};
382+
std::atomic<bool> server_time_difference_was_updated_{false};
383383
std::atomic<bool> close_flag_{false};
384384

385385
std::vector<std::shared_ptr<NetStatsCallback>> net_stats_file_callbacks_;

‎tdactor/td/actor/impl/ConcurrentScheduler.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class ConcurrentScheduler : private Scheduler::Callback {
8686
enum class State { Start, Run };
8787
State state_ = State::Start;
8888
std::vector<unique_ptr<Scheduler>> schedulers_;
89-
std::atomic<bool> is_finished_;
89+
std::atomic<bool> is_finished_{false};
9090
std::mutex at_finish_mutex_;
9191
std::vector<std::function<void()>> at_finish_;
9292
#if !TD_THREAD_UNSUPPORTED && !TD_EVENTFD_UNSUPPORTED

‎tddb/td/db/binlog/ConcurrentBinlog.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class ConcurrentBinlog : public BinlogInterface {
6363

6464
ActorOwn<detail::BinlogActor> binlog_actor_;
6565
string path_;
66-
std::atomic<uint64> last_id_;
66+
std::atomic<uint64> last_id_{0};
6767
};
6868

6969
} // namespace td

‎tdutils/td/utils/HazardPointers.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class HazardPointers {
2020
explicit HazardPointers(size_t threads_n) : threads_(threads_n) {
2121
for (auto &data : threads_) {
2222
for (auto &ptr : data.hazard) {
23-
ptr = nullptr;
23+
std::atomic_init(&ptr, nullptr);
2424
}
2525
}
2626
}

‎tdutils/td/utils/MemoryLog.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class MemoryLog : public LogInterface {
7777

7878
private:
7979
char buffer_[buffer_size];
80-
std::atomic<uint32> pos_;
80+
std::atomic<uint32> pos_{0};
8181
};
8282

8383
} // namespace td

‎tdutils/td/utils/MpmcQueue.h‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -306,9 +306,9 @@ class MpmcQueueOld {
306306
MpmcQueueBlock<T> block;
307307
//Got pad in MpmcQueueBlock
308308
};
309-
std::atomic<Node *> write_pos_;
309+
std::atomic<Node *> write_pos_{nullptr};
310310
char pad[TD_CONCURRENCY_PAD - sizeof(std::atomic<Node *>)];
311-
std::atomic<Node *> read_pos_;
311+
std::atomic<Node *> read_pos_{nullptr};
312312
char pad2[TD_CONCURRENCY_PAD - sizeof(std::atomic<Node *>)];
313313
size_t block_size_;
314314
HazardPointers<Node, 1> hazard_pointers_;
@@ -438,9 +438,9 @@ class MpmcQueue {
438438
char pad[TD_CONCURRENCY_PAD - sizeof(std::atomic<Node *>)];
439439
//Got pad in MpmcQueueBlock
440440
};
441-
std::atomic<Node *> write_pos_;
441+
std::atomic<Node *> write_pos_{nullptr};
442442
char pad[TD_CONCURRENCY_PAD - sizeof(std::atomic<Node *>)];
443-
std::atomic<Node *> read_pos_;
443+
std::atomic<Node *> read_pos_{nullptr};
444444
char pad2[TD_CONCURRENCY_PAD - sizeof(std::atomic<Node *>)];
445445
HazardPointers<Node, 1> hazard_pointers_;
446446
//Got pad in HazardPointers

‎tdutils/td/utils/SharedObjectPool.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class AtomicRefCnt {
3434
}
3535

3636
private:
37-
std::atomic<uint64> cnt_;
37+
std::atomic<uint64> cnt_{0};
3838
};
3939

4040
template <class DataT, class DeleterT>

0 commit comments

Comments
 (0)