diff options
Diffstat (limited to 'searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp b/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp index b9794bf6a75..d4ae635d760 100644 --- a/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp @@ -241,10 +241,16 @@ RPCHooksBase::getProtonStatus(FRT_RPCRequest *req) } void -RPCHooksBase::rpc_die(FRT_RPCRequest *) +RPCHooksBase::rpc_die(FRT_RPCRequest * req) { LOG(debug, "RPCHooksBase::rpc_die"); - _exit(0); + req->Detach(); + letProtonDo(makeLambdaTask([req]() { + LOG(debug, "Nap for 10ms and then quickly exit."); + req->Return(); + std::this_thread::sleep_for(10ms); + std::quick_exit(0); + })); } void |