Description:
updated box for windows to prevent error modal dialog
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r131:d5c4e1d8daa2 - - 1 file changed: 3 inserted, 0 deleted

@@ -280,48 +280,51
280 280 FILETIME kernel_time;
281 281 FILETIME user_time;
282 282 GetProcessTimes(hProcess,
283 283 &creation_time,
284 284 &exit_time,
285 285 &kernel_time,
286 286 &user_time);
287 287
288 288 SYSTEMTIME sys_kernel_time;
289 289 SYSTEMTIME sys_user_time;
290 290 FileTimeToSystemTime(&kernel_time, &sys_kernel_time);
291 291 FileTimeToSystemTime(&user_time, &sys_user_time);
292 292
293 293 double time_used =
294 294 ((sys_kernel_time.wSecond + sys_kernel_time.wMilliseconds/1000.0) +
295 295 (sys_user_time.wSecond + sys_user_time.wMilliseconds/1000.0));
296 296 return time_used;
297 297 }
298 298
299 299 int execute(char *exname, char *inname, char *outname, double t, int max_mem)
300 300 {
301 301 STARTUPINFO si;
302 302 PROCESS_INFORMATION pi;
303 303 int ifsuccess = EXE_RESULT_OK;
304 +
305 + SetErrorMode(SEM_FAILCRITICALERRORS);
306 + SetErrorMode(SEM_NOGPFAULTERRORBOX);
304 307
305 308 ZeroMemory(&si, sizeof(si));
306 309 si.cb = sizeof(si);
307 310 ZeroMemory(&pi, sizeof(pi));
308 311
309 312 setstartupinfo(&si, inname, outname);
310 313
311 314 if(!CreateProcess( NULL, // No module name (use command line).
312 315 TEXT(exname), // Command line.
313 316 NULL, // Process handle not inheritable.
314 317 NULL, // Thread handle not inheritable.
315 318 TRUE, // Set handle inheritance to FALSE.
316 319 0, // No creation flags.
317 320 NULL, // Use parent's environment block.
318 321 NULL, // Use parent's starting directory.
319 322 &si, // Pointer to STARTUPINFO structure.
320 323 &pi)) // Pointer to PROCESS_INFORMATION structure.
321 324 {
322 325 //printf( "CreateProcess failed (%d).\n", GetLastError() );
323 326 fprintf(stderr, "Process creation error.\n");
324 327 report_stat(0,0);
325 328 return EXE_RESULT_ERROR;
326 329 }
327 330 //fprintf(stderr,"Process ID: %ld\n",pi.dwProcessId);
You need to be logged in to leave comments. Login now