Skip to content

Commit 32e0556

Browse files
committed
Delete prefetch_ctx_ after use.
1 parent ca5ea65 commit 32e0556

File tree

4 files changed

+7
-7
lines changed

4 files changed

+7
-7
lines changed

paddle/fluid/operators/detail/grpc_server.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ void AsyncGRPCServer::TryToRegisterNewPrefetchOne() {
306306
}
307307
RequestPrefetch* prefetch =
308308
new RequestPrefetch(&service_, cq_prefetch_.get(), sync_mode_, scope_,
309-
dev_ctx_, executor_, program_, prefetch_ctx_);
309+
dev_ctx_, executor_, program_, prefetch_ctx_.get());
310310

311311
VLOG(4) << "Create RequestPrefetch status:" << prefetch->Status();
312312
}

paddle/fluid/operators/detail/grpc_server.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ class AsyncGRPCServer final {
6363

6464
void SetExecutor(framework::Executor *executor) { executor_ = executor; }
6565

66-
void SetPrefetchPreparedCtx(framework::ExecutorPrepareContext *prepared) {
67-
prefetch_ctx_ = prepared;
66+
void SetPrefetchPreparedCtx(
67+
std::unique_ptr<framework::ExecutorPrepareContext> prepared) {
68+
prefetch_ctx_.reset(prepared.release());
6869
}
6970

7071
int GetSelectedPort() const { return selected_port_; }
@@ -115,7 +116,7 @@ class AsyncGRPCServer final {
115116
std::unique_ptr<std::thread> t_get_;
116117
std::unique_ptr<std::thread> t_prefetch_;
117118

118-
framework::ExecutorPrepareContext *prefetch_ctx_;
119+
std::unique_ptr<framework::ExecutorPrepareContext> prefetch_ctx_;
119120
framework::ProgramDesc *program_;
120121
framework::Executor *executor_;
121122
int selected_port_;

paddle/fluid/operators/detail/grpc_server_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ void StartServer(const std::string& endpoint) {
100100
InitTensorsOnServer(&scope, &place, 10);
101101

102102
rpc_service_->SetProgram(&program);
103-
rpc_service_->SetPrefetchPreparedCtx(prepared.get());
103+
rpc_service_->SetPrefetchPreparedCtx(std::move(prepared));
104104
rpc_service_->SetDevCtx(&ctx);
105105
rpc_service_->SetScope(&scope);
106106
rpc_service_->SetExecutor(&exe);

paddle/fluid/operators/listen_and_serv_op.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,8 +322,7 @@ void ListenAndServOp::RunImpl(const framework::Scope &scope,
322322
// prepare for prefetch
323323
VLOG(3) << "prefetch block id is " << prefetch_block->ID();
324324
auto prefetch_prepared = executor.Prepare(*program, prefetch_block->ID());
325-
rpc_service_->SetPrefetchPreparedCtx(prefetch_prepared.get());
326-
prefetch_prepared.release();
325+
rpc_service_->SetPrefetchPreparedCtx(std::move(prefetch_prepared));
327326

328327
// start the server listening after all member initialized.
329328
server_thread_.reset(new std::thread(RunServer, rpc_service_));

0 commit comments

Comments
 (0)