susumu.yata
null+****@clear*****
Fri Feb 22 14:49:57 JST 2013
susumu.yata 2013-02-22 14:49:57 +0900 (Fri, 22 Feb 2013) New Revision: 56f3023fe2c8acb32a4488c2bea8fdec8fc15942 https://github.com/groonga/grnxx/commit/56f3023fe2c8acb32a4488c2bea8fdec8fc15942 Log: Fix bugs that cause deadlock. Initialize mutexes. Modified files: lib/alpha/double_array.cpp lib/map/da/basic_trie.cpp lib/map/da/large_trie.cpp lib/map/double_array.cpp Modified: lib/alpha/double_array.cpp (+1 -1) =================================================================== --- lib/alpha/double_array.cpp 2013-02-22 14:15:32 +0900 (33574de) +++ lib/alpha/double_array.cpp 2013-02-22 14:49:57 +0900 (6e0ec80) @@ -43,7 +43,7 @@ DoubleArrayHeader::DoubleArrayHeader() num_phantoms_(0), num_zombies_(0), leaders_(), - inter_process_mutex_() { + inter_process_mutex_(MUTEX_UNLOCKED) { for (uint32_t i = 0; i < DOUBLE_ARRAY_MAX_CHUNK_LEVEL; ++i) { leaders_[i] = DOUBLE_ARRAY_INVALID_LEADER; } Modified: lib/map/da/basic_trie.cpp (+1 -1) =================================================================== --- lib/map/da/basic_trie.cpp 2013-02-22 14:15:32 +0900 (74f4e91) +++ lib/map/da/basic_trie.cpp 2013-02-22 14:49:57 +0900 (af7345d) @@ -28,7 +28,7 @@ Header::Header() num_phantoms(0), num_zombies(0), leaders(), - inter_process_mutex() { + inter_process_mutex(MUTEX_UNLOCKED) { for (uint32_t i = 0; i <= MAX_CHUNK_LEVEL; ++i) { leaders[i] = INVALID_LEADER; } Modified: lib/map/da/large_trie.cpp (+1 -1) =================================================================== --- lib/map/da/large_trie.cpp 2013-02-22 14:15:32 +0900 (bcca758) +++ lib/map/da/large_trie.cpp 2013-02-22 14:49:57 +0900 (1c3f7d5) @@ -28,7 +28,7 @@ Header::Header() num_phantoms(0), num_zombies(0), leaders(), - inter_process_mutex() { + inter_process_mutex(MUTEX_UNLOCKED) { for (uint64_t i = 0; i <= MAX_CHUNK_LEVEL; ++i) { leaders[i] = INVALID_LEADER; } Modified: lib/map/double_array.cpp (+1 -1) =================================================================== --- lib/map/double_array.cpp 2013-02-22 14:15:32 +0900 (882c466) +++ lib/map/double_array.cpp 2013-02-22 14:49:57 +0900 (66b9642) @@ -161,7 +161,7 @@ DoubleArray::DoubleArray() front_(nullptr), back_(nullptr), front_block_id_(io::BLOCK_INVALID_ID), - inter_thread_mutex_() {} + inter_thread_mutex_(MUTEX_UNLOCKED) {} void DoubleArray::create_double_array(const MapOptions &, io::Pool pool) { pool_ = pool; -------------- next part -------------- HTML����������������������������...ダウンロード