Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Unified Diff: components/nacl/renderer/plugin/pnacl_translate_thread.h

Issue 1512733003: PNaCl: Use Chrome IPC to talk to the linker process, instead of SRPC (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Review Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698