Index: components/nacl/renderer/plugin/pnacl_translate_thread.h |
diff --git a/components/nacl/renderer/plugin/pnacl_translate_thread.h b/components/nacl/renderer/plugin/pnacl_translate_thread.h |
index ca06d3df70644cb129153ab7e4822f6917902c71..e862492ad5f4ce5e5675b68640dcaf9040bf6874 100644 |
--- a/components/nacl/renderer/plugin/pnacl_translate_thread.h |
+++ b/components/nacl/renderer/plugin/pnacl_translate_thread.h |
@@ -14,6 +14,7 @@ |
#include "native_client/src/shared/platform/nacl_sync_checked.h" |
#include "native_client/src/shared/platform/nacl_threads.h" |
#include "ppapi/cpp/completion_callback.h" |
+#include "ppapi/proxy/serialized_handle.h" |
struct PP_PNaClOptions; |
@@ -81,6 +82,9 @@ class PnaclTranslateThread { |
bool started() const { return coordinator_ != NULL; } |
private: |
+ ppapi::proxy::SerializedHandle GetHandleForSubprocess(TempFile* file, |
+ int32_t open_flags); |
+ |
// Helper thread entry point for compilation. Takes a pointer to |
// PnaclTranslateThread and calls DoCompile(). |
static void WINAPI DoCompileThread(void* arg); |
@@ -146,6 +150,15 @@ class PnaclTranslateThread { |
PP_PNaClOptions* pnacl_options_; |
std::string architecture_attributes_; |
PnaclCoordinator* coordinator_; |
+ |
+ // This IPC::SyncChannel can only be used and freed by the parent thread. |
+ scoped_ptr<IPC::SyncChannel> ld_channel_; |
+ // This IPC::SyncMessageFilter can be used by the child thread. |
+ scoped_refptr<IPC::SyncMessageFilter> ld_channel_filter_; |
+ // PID of the subprocess, needed for copying handles to the subprocess on |
+ // Windows. This is used by the child thread. |
+ base::ProcessId ld_channel_peer_pid_; |
+ |
private: |
NACL_DISALLOW_COPY_AND_ASSIGN(PnaclTranslateThread); |
}; |