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 7db7e7d02832e3e22aa3ffc2624e53880428faa3..cbb0ed0e4c9803b188759f277e8f03af75cb0851 100644 |
--- a/components/nacl/renderer/plugin/pnacl_translate_thread.h |
+++ b/components/nacl/renderer/plugin/pnacl_translate_thread.h |
@@ -17,6 +17,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; |
@@ -84,6 +85,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); |
@@ -149,6 +153,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); |
}; |