|
31 | 31 |
|
32 | 32 | std::map<std::string, std::string> vals;
|
33 | 33 | bool dump_stats = false;
|
34 |
| -protocol_binary_response_status last_status = |
35 |
| - static_cast<protocol_binary_response_status>(0); |
| 34 | +AtomicValue<protocol_binary_response_status> last_status( |
| 35 | + static_cast<protocol_binary_response_status>(0)); |
36 | 36 | std::string last_key;
|
37 | 37 | std::string last_body;
|
38 |
| -bool last_deleted_flag = false; |
39 |
| -uint8_t last_conflict_resolution_mode = static_cast<uint8_t>(-1); |
40 |
| -uint64_t last_cas = 0; |
41 |
| -uint8_t last_datatype = 0x00; |
| 38 | +bool last_deleted_flag(false); |
| 39 | +uint8_t last_conflict_resolution_mode(static_cast<uint8_t>(-1)); |
| 40 | +AtomicValue<uint64_t> last_cas(0); |
| 41 | +AtomicValue<uint8_t> last_datatype(0x00); |
42 | 42 | ItemMetaData last_meta;
|
43 |
| -uint64_t last_uuid = 0; |
44 |
| -uint64_t last_seqno = 0; |
| 43 | +AtomicValue<uint64_t> last_uuid(0); |
| 44 | +AtomicValue<uint64_t> last_seqno(0); |
45 | 45 |
|
46 | 46 | extern "C" bool add_response_get_meta(const void *key, uint16_t keylen,
|
47 | 47 | const void *ext, uint8_t extlen,
|
@@ -72,11 +72,11 @@ bool add_response(const void *key, uint16_t keylen, const void *ext,
|
72 | 72 | (void)ext;
|
73 | 73 | (void)extlen;
|
74 | 74 | (void)cookie;
|
75 |
| - last_status = static_cast<protocol_binary_response_status>(status); |
| 75 | + last_status.store(static_cast<protocol_binary_response_status>(status)); |
76 | 76 | last_body.assign(static_cast<const char*>(body), bodylen);
|
77 | 77 | last_key.assign(static_cast<const char*>(key), keylen);
|
78 |
| - last_cas = cas; |
79 |
| - last_datatype = datatype; |
| 78 | + last_cas.store(cas); |
| 79 | + last_datatype.store(datatype); |
80 | 80 | return true;
|
81 | 81 | }
|
82 | 82 |
|
@@ -115,8 +115,8 @@ bool add_response_set_del_meta(const void *key, uint16_t keylen, const void *ext
|
115 | 115 | uint64_t seqno;
|
116 | 116 | memcpy(&vb_uuid, ext_bytes, 8);
|
117 | 117 | memcpy(&seqno, ext_bytes + 8, 8);
|
118 |
| - last_uuid = ntohll(vb_uuid); |
119 |
| - last_seqno = ntohll(seqno); |
| 118 | + last_uuid.store(ntohll(vb_uuid)); |
| 119 | + last_seqno.store(ntohll(seqno)); |
120 | 120 | }
|
121 | 121 |
|
122 | 122 | return add_response(key, keylen, ext, extlen, body, bodylen, datatype,
|
@@ -959,7 +959,7 @@ bool verify_vbucket_state(ENGINE_HANDLE *h, ENGINE_HANDLE_V1 *h1, uint16_t vb,
|
959 | 959 | if (last_status != PROTOCOL_BINARY_RESPONSE_SUCCESS) {
|
960 | 960 | if (!mute) {
|
961 | 961 | fprintf(stderr, "Last protocol status was %d (%s)\n",
|
962 |
| - last_status, |
| 962 | + last_status.load(), |
963 | 963 | last_body.size() > 0 ? last_body.c_str() : "unknown");
|
964 | 964 | }
|
965 | 965 | return false;
|
|
0 commit comments