首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么带有UI的chrome扩展的本机消息传递主机会挂起?

为什么带有UI的chrome扩展的本机消息传递主机会挂起?
EN

Stack Overflow用户
提问于 2014-09-08 08:53:48
回答 1查看 85关注 0票数 0

我有一个用于chrome扩展的本机消息传递主机,它可以读取OS中的密钥链(使用Apple's keychain service)。当browser action page打开时,我调用chrome.runtime.sendNativeMessage。当密钥链已经解锁时,本机程序运行良好,并在标准输出时返回响应。当钥匙链被锁定时,问题就会发生,因此OS X会提示用户通过UI警报(类似于this)来解锁钥匙链。问题是本机程序在被调用时挂起,并且提示符不会立即出现。该提示只会在我关闭浏览器操作弹出窗口时出现,并且只会短暂出现(不到一秒)。我知道本机应用程序在等待UI提示符时正在运行,因为我添加了它何时启动和退出的日志(我还检查了ps)。

有人知道本机应用程序可能挂起的原因吗?我认为可能是UI窗口导致了阻塞,所以我尝试在本机应用程序中派生一个新线程来打开密钥链。不幸的是,这也不起作用。

当我直接从命令行运行该程序时,我没有遇到任何这些问题,并且立即出现解锁密钥链的提示。

Ps。我也尝试过chrome.runtime.connectNative,但也不起作用。

EN

回答 1

Stack Overflow用户

发布于 2014-09-09 03:47:48

事实证明,我用来从标准中读取的函数正在等待EOF,所以在某些情况下,本机应用程序被无限期地挂起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25716119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档