Skip to content

Commit 0225743

Browse files
Add check if renderer is already launching (#912)
* If `StartRenderer` has already started launching a renderer, it skips duplicated launches. * #912 PiperOrigin-RevId: 622224128
1 parent 7b5d83c commit 0225743

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/renderer/BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ mozc_cc_library(
6262
"//ipc:named_event",
6363
"//protocol:renderer_cc_proto",
6464
"@com_google_absl//absl/base:core_headers",
65+
"@com_google_absl//absl/log",
6566
"@com_google_absl//absl/synchronization",
6667
"@com_google_absl//absl/time",
6768
] + mozc_select(

src/renderer/renderer_client.cc

+5-1
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@
3737
#include <string>
3838

3939
#include "absl/base/thread_annotations.h"
40+
#include "absl/log/log.h"
4041
#include "absl/synchronization/mutex.h"
4142
#include "absl/time/clock.h"
4243
#include "absl/time/time.h"
4344
#include "base/clock.h"
44-
#include "base/logging.h"
4545
#include "base/process.h"
4646
#include "base/system_util.h"
4747
#include "base/thread.h"
@@ -106,6 +106,10 @@ class RendererLauncher : public RendererLauncherInterface {
106106
const std::string &name, const std::string &path,
107107
bool disable_renderer_path_check,
108108
IPCClientFactoryInterface *ipc_client_factory_interface) override {
109+
if (Status() == RendererStatus::RENDERER_LAUNCHING) {
110+
// Renderer is already launching.
111+
return;
112+
}
109113
SetStatus(RendererStatus::RENDERER_LAUNCHING);
110114
name_ = name;
111115
path_ = path;

0 commit comments

Comments
 (0)