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

Side by Side Diff: src/trusted/service_runtime/sel_main.c

Issue 7942008: NaCl repo side changes to make crash reporting more reliable. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: '' Created 9 years, 3 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
« no previous file with comments | « src/trusted/service_runtime/sel_ldr.c ('k') | src/trusted/service_runtime/sel_main_chrome.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 The Native Client Authors. All rights reserved. 2 * Copyright (c) 2011 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 /* 7 /*
8 * NaCl Simple/secure ELF loader (NaCl SEL). 8 * NaCl Simple/secure ELF loader (NaCl SEL).
9 */ 9 */
10 #include "native_client/src/include/portability.h" 10 #include "native_client/src/include/portability.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 156
157 struct NaClApp state; 157 struct NaClApp state;
158 char *nacl_file = NULL; 158 char *nacl_file = NULL;
159 char *blob_library_file = NULL; 159 char *blob_library_file = NULL;
160 int rpc_supplies_nexe = 0; 160 int rpc_supplies_nexe = 0;
161 int export_addr_to = -2; 161 int export_addr_to = -2;
162 162
163 struct NaClApp *nap; 163 struct NaClApp *nap;
164 164
165 struct GioFile gout; 165 struct GioFile gout;
166 NaClErrorCode errcode; 166 NaClErrorCode errcode = LOAD_INTERNAL;
167 struct GioMemoryFileSnapshot blob_file; 167 struct GioMemoryFileSnapshot blob_file;
168 168
169 int ret_code; 169 int ret_code;
170 struct DynArray env_vars; 170 struct DynArray env_vars;
171 171
172 char *log_file = NULL; 172 char *log_file = NULL;
173 struct GioFile *log_gio; 173 struct GioFile *log_gio;
174 int log_desc; 174 int log_desc;
175 int verbosity = 0; 175 int verbosity = 0;
176 int fuzzing_quit_after_load = 0; 176 int fuzzing_quit_after_load = 0;
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 fflush(stdout); 849 fflush(stdout);
850 850
851 if (verbosity) { 851 if (verbosity) {
852 gprintf((struct Gio *) &gout, "exiting -- printing NaClApp details\n"); 852 gprintf((struct Gio *) &gout, "exiting -- printing NaClApp details\n");
853 NaClAppPrintDetails(nap, (struct Gio *) &gout); 853 NaClAppPrintDetails(nap, (struct Gio *) &gout);
854 854
855 printf("Dumping vmmap.\n"); fflush(stdout); 855 printf("Dumping vmmap.\n"); fflush(stdout);
856 PrintVmmap(nap); 856 PrintVmmap(nap);
857 fflush(stdout); 857 fflush(stdout);
858 } 858 }
859 /*
860 * If there is a secure command channel, we sent an RPC reply with
861 * the reason that the nexe was rejected. If we exit now, that
862 * reply may still be in-flight and the various channel closure (esp
863 * reverse channel) may be detected first. This would result in a
864 * crash being reported, rather than the error in the RPC reply.
865 * Instead, we wait for the hard-shutdown on the command channel.
866 */
867 if (LOAD_OK != errcode) {
868 NaClBlockIfCommandChannelExists(nap);
869 }
859 870
860 done_file_dtor: 871 done_file_dtor:
861 if (verbosity > 0) { 872 if (verbosity > 0) {
862 printf("Done.\n"); 873 printf("Done.\n");
863 } 874 }
864 fflush(stdout); 875 fflush(stdout);
865 876
866 if (handle_signals) NaClSignalHandlerFini(); 877 if (handle_signals) NaClSignalHandlerFini();
867 NaClAllModulesFini(); 878 NaClAllModulesFini();
868 879
869 NaClExit(ret_code); 880 NaClExit(ret_code);
870 881
871 /* Unreachable, but having the return prevents a compiler error. */ 882 /* Unreachable, but having the return prevents a compiler error. */
872 return ret_code; 883 return ret_code;
873 } 884 }
OLDNEW
« no previous file with comments | « src/trusted/service_runtime/sel_ldr.c ('k') | src/trusted/service_runtime/sel_main_chrome.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698