Create watcher when message loop is ready

This commit is contained in:
Cheng Zhao 2017-09-20 11:40:49 +09:00
Родитель 4147fa4629
Коммит b7119b5756
2 изменённых файлов: 4 добавлений и 8 удалений

Просмотреть файл

@ -407,11 +407,7 @@ bool NotificationCallbackWrapper(
const base::FilePath& cwd) {
// Make sure the callback is called after app gets ready.
if (Browser::Get()->is_ready()) {
// We definitely want to call this callback on the UI thread
content::BrowserThread::PostTask(
content::BrowserThread::UI,
FROM_HERE,
base::Bind(base::IgnoreResult(callback), cmd, cwd));
callback.Run(cmd, cwd);
} else {
scoped_refptr<base::SingleThreadTaskRunner> task_runner(
base::ThreadTaskRunnerHandle::Get());

Просмотреть файл

@ -720,8 +720,7 @@ ProcessSingleton::ProcessSingleton(
const base::FilePath& user_data_dir,
const NotificationCallback& notification_callback)
: notification_callback_(notification_callback),
current_pid_(base::GetCurrentProcId()),
watcher_(new LinuxWatcher(this)) {
current_pid_(base::GetCurrentProcId()) {
// The user_data_dir may have not been created yet.
base::CreateDirectoryAndGetError(user_data_dir, nullptr);
@ -883,6 +882,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcessOrCreate() {
}
void ProcessSingleton::StartListeningOnSocket() {
watcher_ = new LinuxWatcher(this);
BrowserThread::PostTask(
BrowserThread::IO,
FROM_HERE,
@ -1049,7 +1049,7 @@ bool ProcessSingleton::Create() {
NOTREACHED() << "listen failed: " << base::safe_strerror(errno);
sock_ = sock;
if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) {
StartListeningOnSocket();
} else {