小编fix*_*ark的帖子

Mac OS X:一个进程可以渲染到另一个进程的窗口吗?

问候!

我目前正在将一个Web浏览器插件从Win32移植到MacOSX.该插件的一个特性是,当插件加载时,它会生成一个单独的进程,作为插件的"引擎",并在插件的窗口中执行绘图操作(具体来说,通过将OpenGL上下文附加到父进程的窗口并在该上下文中执行OpenGL呈现命令).我们这样做是因为插件通常作为浏览器进程中的线程加载,因此插件中的崩溃会占用整个浏览器.通过将"繁重的工作"划分为一个单独的进程并保持插件代码非常小,我们可以保护用户免受此类崩溃.

我想在MacOSX上保留这个子进程渲染器架构,但我听说过一个令人讨厌的谣言(与谷歌Chrome浏览器有关)MacOSX不允许进程将其窗口访问另一个进程.我在这个领域的搜索尚无定论; 如果有人对这个问题有任何了解,并且可以提供一些关于如何实现这一目标的建议,或者一个更有说服力的"无法完成",那将是非常有帮助的.

谢谢您的帮助!

macos process window-handles quartz-graphics

20
推荐指数
2
解决办法
3884
查看次数

使用LANG = en_US.UTF-8在MacOS 10.6上执行std :: locale breakage

我有一个C++应用程序,我移植到MacOSX(特别是,10.6).该应用程序大量使用C++标准库和提升.我最近在应用程序中观察到一些我很难理解的破损.

基本上,boost文件系统库在程序运行时抛出运行时异常.通过一些调试和谷歌搜索,我将违规调用减少到以下最小程序:

#include <locale>

int main ( int argc, char *argv [] ) {
    std::locale::global(std::locale(""));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我通过g ++运行并在LANG=en_US.UTF-8设置的环境中执行生成的程序时,此程序失败(当我创建新的控制台窗口时,我的计算机上的程序是默认bash会话的一部分).清除环境变量(setenv LANG=)允许程序无问题地运行.但我很惊讶我在默认配置中看到了这种破坏.

我的问题是:

  1. 这是MacOS 10.6上此代码的预期行为吗?
  2. 什么是正确的解决方法?我无法真正重写函数,因为我们使用的boost库的版本在内部执行此语句作为文件系统库的一部分.

为了完整起见,我应该指出,通过'open'命令(或从Finder)启动时,合成此代码的程序会崩溃,但是当Xcode在调试模式下运行程序时则不会崩溃.

编辑 10.6.1上面代码给出的错误是:

$ ./locale 
terminate called after throwing an instance of 'std::runtime_error'
  what():  locale::facet::_S_create_c_locale name not valid
Abort trap

c++ macos cocoa boost

16
推荐指数
2
解决办法
8436
查看次数

如何在 AWSJavaScriptSDK 中以 200 OK 结果捕获失败的 S3 copyObject

文档在AWSJavaScriptSDK的S3.copyObject方法表示如下:

当 Amazon S3 收到复制请求或 Amazon S3 复制文件时,复制请求可能会返回错误。如果错误发生在复制操作开始之前,您会收到标准 Amazon S3 错误。如果在复制操作过程中发生错误,错误响应将嵌入到 200 OK 响应中。这意味着 200 OK 响应可以包含成功或错误。设计您的应用程序以解析响应的内容并适当地处理它。

但是,没有给出失败可能是什么样子的示例,并且aws-sdk节点库中与 copyObject 相关联的类型(即 CopyObjectResult 和 S3.Types.CopyObjectOutput)表明没有地方可以报告失败的副本一个成功的回应。

有谁知道如何解释这个文档?在向 copyObject 返回 200 OK 时复制操作失败的示例是什么,调用者如何知道?

amazon-s3 amazon-web-services aws-sdk-js

6
推荐指数
1
解决办法
835
查看次数

为什么MySQL复制使用五个证书?

我正在尝试使用SSL加密设置MySQL复制,当我开始关注解决方案时,这个过程的一个方面是我无法解决与MySQL使用SSL的方式有关的问题.

根据关于MySQL 5.0的文档(设置SSL客户端/服务器设置SSL进行复制),SSL连接可能涉及的信息多达五件:CA证书,大师的签名公共密钥和私有密钥,并从服务器的签名的公钥和私钥.我不明白的是需要这五个组件.我对SSL的理解(从维基百科条目中收集)是SSL通常只需要三个部分:CA证书(由服务器和客户端共享),服务器的公钥(发送到客户端,根据CA证书进行验证,以及用于加密/解密与服务器的通信),以及服务器的私钥(由服务器保存,用于加密/解密与客户端的通信).

那么为什么在MySQL复制SSL解决方案中奴隶还有一个公钥/私钥对与主公钥/私钥对相同的CA证书签名?

mysql security ssl

2
推荐指数
1
解决办法
733
查看次数