message: refactor: Replace RecursiveMutex with Mutex in rpc/server.cpp
diff: #include <mutex>
  #include <unordered_map>
  -static RecursiveMutex cs_rpcWarmup;
  +static Mutex g_rpc_warmup_mutex;
  static std::atomic<bool> g_rpc_running{false};
  -static bool fRPCInWarmup GUARDED_BY(cs_rpcWarmup) = true;
  -static std::string rpcWarmupStatus GUARDED_BY(cs_rpcWarmup) = "RPC server started";
  +static bool fRPCInWarmup GUARDED_BY(g_rpc_warmup_mutex) = true;
  +static std::string rpcWarmupStatus GUARDED_BY(g_rpc_warmup_mutex) = "RPC server started";
  /* Timer-creating functions */
  static RPCTimerInterface* timerInterface = nullptr;
  /* Map of name to timer. */
  @@ -327,20 +327,20 @@ void RpcInterruptionPoint()
  void SetRPCWarmupStatus(const std::string& newStatus)
  {
  - LOCK(cs_rpcWarmup);
  + LOCK(g_rpc_warmup_mutex);
  rpcWarmupStatus = newStatus;
  }
  void SetRPCWarmupFinished()
  {
  - LOCK(cs_rpcWarmup);
  + LOCK(g_rpc_warmup_mutex);
  assert(fRPCInWarmup);
  fRPCInWarmup = false;
  }
  bool RPCIsInWarmup(std::string *outStatus)
  {
  - LOCK(cs_rpcWarmup);
  + LOCK(g_rpc_warmup_mutex);
  if (outStatus)
  *outStatus = rpcWarmupStatus;
  return fRPCInWarmup;
  @@ -439,7 +439,7 @@ UniValue CRPCTable::execute(const JSONRPCRequest &request) const
  {
  // Return immediately if in warmup
  {
  - LOCK(cs_rpcWarmup);
  + LOCK(g_rpc_warmup_mutex);
  if (fRPCInWarmup)
  throw JSONRPCError(RPC_IN_WARMUP, rpcWarmupStatus);
  }
  