mirror of
https://github.com/typesense/typesense.git
synced 2025-05-18 04:32:38 +08:00
Wrap last chunk aggregate flag with atomic.
This commit is contained in:
parent
26fbad2c66
commit
a8a8c60e0f
@ -196,7 +196,7 @@ struct http_req {
|
||||
std::map<std::string, std::string> params;
|
||||
|
||||
bool first_chunk_aggregate;
|
||||
bool last_chunk_aggregate;
|
||||
std::atomic<bool> last_chunk_aggregate;
|
||||
size_t chunk_len;
|
||||
|
||||
std::string body;
|
||||
@ -311,7 +311,7 @@ struct http_req {
|
||||
content["route_hash"] = route_hash;
|
||||
content["params"] = params;
|
||||
content["first_chunk_aggregate"] = first_chunk_aggregate;
|
||||
content["last_chunk_aggregate"] = last_chunk_aggregate;
|
||||
content["last_chunk_aggregate"] = last_chunk_aggregate.load();
|
||||
content["body"] = body;
|
||||
content["metadata"] = metadata;
|
||||
content["start_ts"] = start_ts;
|
||||
|
@ -875,6 +875,8 @@ bool HttpServer::on_stream_response_message(void *data) {
|
||||
|
||||
bool HttpServer::on_request_proceed_message(void *data) {
|
||||
//LOG(INFO) << "on_request_proceed_message";
|
||||
// This callback will run concurrently to batch indexer's run() so care must be taken to protect access
|
||||
// to variables that are written to by the batch indexer, which for now is only: last_chunk_aggregate (atomic)
|
||||
deferred_req_res_t* req_res = static_cast<deferred_req_res_t *>(data);
|
||||
auto stream_state = (req_res->req->last_chunk_aggregate) ? H2O_SEND_STATE_FINAL : H2O_SEND_STATE_IN_PROGRESS;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user