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

Side by Side Diff: src/trusted/sel_universal/sel_universal.cc

Issue 10979061: Track correctly the number of secure command channel connections (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: Rebased with master. Created 8 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 // Second generation sel_universal implemented in C++ 7 // Second generation sel_universal implemented in C++
8 8
9 #include <stdio.h> 9 #include <stdio.h>
10 10
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 } 175 }
176 176
177 if (app_name == "") { 177 if (app_name == "") {
178 NaClLog(LOG_FATAL, "missing app\n"); 178 NaClLog(LOG_FATAL, "missing app\n");
179 } 179 }
180 180
181 return app_name; 181 return app_name;
182 } 182 }
183 183
184 184
185 static bool HandlerHardShutdown(NaClCommandLoop* ncl,
186 const vector<string>& args) {
187 UNREFERENCED_PARAMETER(ncl);
188 UNREFERENCED_PARAMETER(args);
189 NaClSrpcInvokeBySignature(&command_channel, "hard_shutdown::");
190 return true;
191 }
192
193
194 static bool HandlerForceShutdown(NaClCommandLoop* ncl,
195 const vector<string>& args) {
196 UNREFERENCED_PARAMETER(ncl);
197 UNREFERENCED_PARAMETER(args);
198 NaClSrpcDtor(&command_channel);
199 return true;
200 }
201
202
185 int raii_main(int argc, char* argv[]) { 203 int raii_main(int argc, char* argv[]) {
186 // Get the arguments to sed_ldr and the nexe module 204 // Get the arguments to sed_ldr and the nexe module
187 vector<nacl::string> sel_ldr_argv; 205 vector<nacl::string> sel_ldr_argv;
188 vector<nacl::string> app_argv; 206 vector<nacl::string> app_argv;
189 nacl::string irt_name; 207 nacl::string irt_name;
190 nacl::string app_name = 208 nacl::string app_name =
191 ProcessArguments(argc, argv, &irt_name, &sel_ldr_argv, &app_argv); 209 ProcessArguments(argc, argv, &irt_name, &sel_ldr_argv, &app_argv);
192 210
193 if (silence_nexe) { 211 if (silence_nexe) {
194 // redirect stdout/stderr in the nexe to /dev/null 212 // redirect stdout/stderr in the nexe to /dev/null
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 loop.AddHandler("sync_socket_write", HandlerSyncSocketWrite); 311 loop.AddHandler("sync_socket_write", HandlerSyncSocketWrite);
294 // new names 312 // new names
295 loop.AddHandler("pnacl_emu_initialize", HandlerPnaclEmuInitialize); 313 loop.AddHandler("pnacl_emu_initialize", HandlerPnaclEmuInitialize);
296 loop.AddHandler("pnacl_emu_add_varname_mapping", 314 loop.AddHandler("pnacl_emu_add_varname_mapping",
297 HandlerPnaclEmuAddVarnameMapping); 315 HandlerPnaclEmuAddVarnameMapping);
298 loop.AddHandler("reverse_service_add_manifest_mapping", 316 loop.AddHandler("reverse_service_add_manifest_mapping",
299 HandlerReverseEmuAddManifestMapping); 317 HandlerReverseEmuAddManifestMapping);
300 loop.AddHandler("reverse_service_dump_manifest_mappings", 318 loop.AddHandler("reverse_service_dump_manifest_mappings",
301 HandlerReverseEmuDumpManifestMappings); 319 HandlerReverseEmuDumpManifestMappings);
302 loop.AddHandler("stream_file", HandlerPnaclFileStream); 320 loop.AddHandler("stream_file", HandlerPnaclFileStream);
321 loop.AddHandler("wait_for_exit", HandlerWaitForExit);
322
323 loop.AddHandler("hard_shutdown", HandlerHardShutdown);
324 loop.AddHandler("force_shutdown", HandlerForceShutdown);
303 325
304 NaClLog(1, "populating initial vars\n"); 326 NaClLog(1, "populating initial vars\n");
305 for (map<string, string>::iterator it = initial_vars.begin(); 327 for (map<string, string>::iterator it = initial_vars.begin();
306 it != initial_vars.end(); 328 it != initial_vars.end();
307 ++it) { 329 ++it) {
308 loop.SetVariable(it->first, it->second); 330 loop.SetVariable(it->first, it->second);
309 } 331 }
310 332
311 const bool success = initial_commands.size() > 0 ? 333 const bool success = initial_commands.size() > 0 ?
312 loop.ProcessCommands(initial_commands) : 334 loop.ProcessCommands(initial_commands) :
(...skipping 15 matching lines...) Expand all
328 NaClSrpcModuleInit(); 350 NaClSrpcModuleInit();
329 NaClNrdAllModulesInit(); 351 NaClNrdAllModulesInit();
330 352
331 int exit_status = raii_main(argc, argv); 353 int exit_status = raii_main(argc, argv);
332 354
333 NaClSrpcModuleFini(); 355 NaClSrpcModuleFini();
334 NaClNrdAllModulesFini(); 356 NaClNrdAllModulesFini();
335 357
336 return exit_status; 358 return exit_status;
337 } 359 }
OLDNEW
« no previous file with comments | « src/trusted/sel_universal/rpc_universal.h ('k') | src/trusted/service_runtime/nacl_secure_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698