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

Unified Diff: src/trusted/reverse_service/reverse_service.cc

Issue 8825007: Native Client side changes for debugging support: stdout/err -> postmessage. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 9 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: src/trusted/reverse_service/reverse_service.cc
===================================================================
--- src/trusted/reverse_service/reverse_service.cc (revision 7373)
+++ src/trusted/reverse_service/reverse_service.cc (working copy)
@@ -124,6 +124,28 @@
rpc->result = NACL_SRPC_RESULT_OK;
}
+void PostMessageRpc(NaClSrpcRpc* rpc,
+ NaClSrpcArg** in_args,
+ NaClSrpcArg** out_args,
+ NaClSrpcClosure* done) {
+ nacl::ReverseService* service = reinterpret_cast<nacl::ReverseService*>(
+ rpc->channel->server_instance_data);
+ char* message = in_args[0]->arrays.carr;
+ nacl_abi_size_t nbytes = in_args[0]->u.count;
+ NaClSrpcClosureRunner on_return(done);
+
+ NaClLog(4, "Entered PostMessageRpc\n");
+ if (NULL == service->reverse_interface()) {
+ NaClLog(1, "PostMessage RPC, no reverse_interface. Message: %s\n",
+ message);
+ } else {
+ service->reverse_interface()->PostMessage(std::string(message, nbytes));
+ }
+ out_args[0]->u.ival = (int32_t) nbytes;
+ NaClLog(4, "Leaving PostMessageRpc\n");
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
// Manifest name service, internal APIs.
//
// Manifest file lookups result in read-only file descriptors with a
@@ -272,6 +294,13 @@
namespace nacl {
+// TODO(bsy): this is a temporary cross-repo hack; should be removed
+// when the interface is made pure virtual again
+void ReverseInterface::PostMessage(nacl::string message) {
+ NaClLog(0, "ReverseInterface::PostMessage(NACL_OUTPUT_TAG:%s)\n",
+ message.c_str());
+}
+
// need NaClThreadIfFactoryFunction that keeps "this" to do counting
struct ReverseCountingThreadInterface {
@@ -394,6 +423,7 @@
{ NACL_REVERSE_CONTROL_ADD_CHANNEL, AddChannel, },
{ NACL_REVERSE_CONTROL_INIT_DONE, ModuleInitDoneRpc, },
{ NACL_REVERSE_CONTROL_REPORT_STATUS, ModuleExitRpc, },
+ { NACL_REVERSE_CONTROL_POST_MESSAGE, PostMessageRpc, },
{ NACL_MANIFEST_LIST, ManifestListRpc, },
{ NACL_MANIFEST_LOOKUP, ManifestLookupRpc, },
{ NACL_MANIFEST_UNREF, ManifestUnrefRpc, },
« no previous file with comments | « src/trusted/reverse_service/reverse_service.h ('k') | src/trusted/service_runtime/arch/x86_64/sel_ldr_x86_64.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698