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

Unified Diff: nacl_bindings/mojo_syscall.cc

Issue 1052723003: NaCl: create a separate namespace for Mojo handles. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months 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: nacl_bindings/mojo_syscall.cc
diff --git a/nacl_bindings/mojo_syscall.cc b/nacl_bindings/mojo_syscall.cc
index 4453381cb62af5f620427f7a1efe5c41116f93cf..296376366d6a7d24484c22d66822b18bb1d3210a 100644
--- a/nacl_bindings/mojo_syscall.cc
+++ b/nacl_bindings/mojo_syscall.cc
@@ -10,12 +10,14 @@
#include <stdio.h>
#include "mojo/public/c/system/core.h"
+#include "mojo/public/platform/native/core_system_api.h"
#include "nacl_bindings/mojo_syscall_internal.h"
#include "native_client/src/public/chrome_main.h"
#include "native_client/src/public/nacl_app.h"
#include "native_client/src/trusted/desc/nacl_desc_custom.h"
MojoHandle g_mojo_handle = MOJO_HANDLE_INVALID;
+MojoCoreHandle g_mojo_core = nullptr;
namespace {
@@ -73,8 +75,8 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoCreateSharedBuffer(options, num_bytes_value,
- &shared_buffer_handle_value);
+ result_value = MojoCoreCreateSharedBuffer(
+ g_mojo_core, options, num_bytes_value, &shared_buffer_handle_value);
{
ScopedCopyLock copy_lock(nap);
@@ -111,8 +113,8 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoDuplicateBufferHandle(buffer_handle_value, options,
- &new_buffer_handle_value);
+ result_value = MojoCoreDuplicateBufferHandle(
+ g_mojo_core, buffer_handle_value, options, &new_buffer_handle_value);
{
ScopedCopyLock copy_lock(nap);
@@ -159,9 +161,9 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value =
- MojoCreateDataPipe(options, &data_pipe_producer_handle_value,
- &data_pipe_consumer_handle_value);
+ result_value = MojoCoreCreateDataPipe(g_mojo_core, options,
+ &data_pipe_producer_handle_value,
+ &data_pipe_consumer_handle_value);
{
ScopedCopyLock copy_lock(nap);
@@ -205,8 +207,9 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoWriteData(data_pipe_producer_handle_value, elements,
- &num_bytes_value, flags_value);
+ result_value =
+ MojoCoreWriteData(g_mojo_core, data_pipe_producer_handle_value,
+ elements, &num_bytes_value, flags_value);
{
ScopedCopyLock copy_lock(nap);
@@ -241,8 +244,9 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoEndWriteData(data_pipe_producer_handle_value,
- num_bytes_written_value);
+ result_value =
+ MojoCoreEndWriteData(g_mojo_core, data_pipe_producer_handle_value,
+ num_bytes_written_value);
{
ScopedCopyLock copy_lock(nap);
@@ -284,8 +288,9 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoReadData(data_pipe_consumer_handle_value, elements,
- &num_bytes_value, flags_value);
+ result_value =
+ MojoCoreReadData(g_mojo_core, data_pipe_consumer_handle_value,
+ elements, &num_bytes_value, flags_value);
{
ScopedCopyLock copy_lock(nap);
@@ -320,8 +325,8 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoEndReadData(data_pipe_consumer_handle_value,
- num_bytes_read_value);
+ result_value = MojoCoreEndReadData(
+ g_mojo_core, data_pipe_consumer_handle_value, num_bytes_read_value);
{
ScopedCopyLock copy_lock(nap);
@@ -343,7 +348,7 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoGetTimeTicksNow();
+ result_value = MojoCoreGetTimeTicksNow(g_mojo_core);
{
ScopedCopyLock copy_lock(nap);
@@ -369,7 +374,7 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoClose(handle_value);
+ result_value = MojoCoreClose(g_mojo_core, handle_value);
{
ScopedCopyLock copy_lock(nap);
@@ -408,8 +413,9 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoWait(handle_value, signals_value, deadline_value,
- signals_state_ptr ? &signals_state_value : NULL);
+ result_value =
+ MojoCoreWait(g_mojo_core, handle_value, signals_value, deadline_value,
+ signals_state_ptr ? &signals_state_value : NULL);
{
ScopedCopyLock copy_lock(nap);
@@ -464,8 +470,8 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoWaitMany(
- handles, signals, num_handles_value, deadline_value,
+ result_value = MojoCoreWaitMany(
+ g_mojo_core, handles, signals, num_handles_value, deadline_value,
result_index_ptr ? &result_index_value : NULL, signals_states);
{
@@ -509,8 +515,9 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoCreateMessagePipe(options, &message_pipe_handle0_value,
- &message_pipe_handle1_value);
+ result_value = MojoCoreCreateMessagePipe(g_mojo_core, options,
+ &message_pipe_handle0_value,
+ &message_pipe_handle1_value);
{
ScopedCopyLock copy_lock(nap);
@@ -559,9 +566,9 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value =
- MojoWriteMessage(message_pipe_handle_value, bytes, num_bytes_value,
- handles, num_handles_value, flags_value);
+ result_value = MojoCoreWriteMessage(
+ g_mojo_core, message_pipe_handle_value, bytes, num_bytes_value,
+ handles, num_handles_value, flags_value);
{
ScopedCopyLock copy_lock(nap);
@@ -612,8 +619,8 @@ ssize_t MojoDescSendMsg(void* handle,
}
}
- result_value = MojoReadMessage(
- message_pipe_handle_value, bytes,
+ result_value = MojoCoreReadMessage(
+ g_mojo_core, message_pipe_handle_value, bytes,
num_bytes_ptr ? &num_bytes_value : NULL, handles,
num_handles_ptr ? &num_handles_value : NULL, flags_value);
@@ -710,14 +717,12 @@ struct NaClDesc* MakeDisabledMojoDesc(struct NaClApp* nap) {
// from there.
#define NACL_MOJO_DESC (NACL_CHROME_DESC_BASE + 3)
-void InjectMojo(struct NaClApp* nap) {
- NaClAppSetDesc(nap, NACL_MOJO_DESC, MakeMojoDesc(nap));
- g_mojo_handle = MOJO_HANDLE_INVALID;
-}
-
void InjectMojo(struct NaClApp* nap, MojoHandle handle) {
NaClAppSetDesc(nap, NACL_MOJO_DESC, MakeMojoDesc(nap));
- g_mojo_handle = handle;
+ g_mojo_core = MojoCoreCreateCore();
+ // TODO handle errors?
+ MojoCoreTransferHandle(MojoCoreGetDefaultCore(), handle, g_mojo_core,
+ &g_mojo_handle);
}
void InjectDisabledMojo(struct NaClApp* nap) {

Powered by Google App Engine
This is Rietveld 408576698