mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=5465
This commit is contained in:
parent
07a2e3adc2
commit
4f0047a46f
|
@ -24960,3 +24960,11 @@ David 17 Feb 2005
|
|||
setup_project.py
|
||||
tools/
|
||||
make_project
|
||||
|
||||
David 17 Feb 2005
|
||||
- Win core client: retry CreateProcess() 5 times with random delay,
|
||||
in case some other process has executable file open
|
||||
(from Bruce Allen)
|
||||
|
||||
client/
|
||||
app_start.C
|
||||
|
|
|
@ -141,7 +141,7 @@ int ACTIVE_TASK::write_app_init_file() {
|
|||
safe_strcpy(aid.user_name, wup->project->user_name);
|
||||
safe_strcpy(aid.team_name, wup->project->team_name);
|
||||
if (wup->project->project_specific_prefs.length()) {
|
||||
aid.project_preferences = strdup(wup->project->project_specific_prefs.c_str());
|
||||
aid.project_preferences = (char*)wup->project->project_specific_prefs.c_str();
|
||||
}
|
||||
get_project_dir(wup->project, project_dir);
|
||||
relative_to_absolute(project_dir, project_path);
|
||||
|
@ -267,11 +267,11 @@ int ACTIVE_TASK::start(bool first_time) {
|
|||
//
|
||||
strcpy(exec_name, "");
|
||||
for (i=0; i<app_version->app_files.size(); i++) {
|
||||
fref = app_version->app_files[i];
|
||||
FILE_REF fref = app_version->app_files[i];
|
||||
fip = fref.file_info;
|
||||
get_pathname(fip, file_path);
|
||||
if (fref.main_program) {
|
||||
if (!wup->project->anonymous_platform && !fip->executable) {
|
||||
if (!fip->executable) {
|
||||
msg_printf(wup->project, MSG_ERROR,
|
||||
"Main program %s is not executable", fip->name
|
||||
);
|
||||
|
@ -323,6 +323,7 @@ int ACTIVE_TASK::start(bool first_time) {
|
|||
STARTUPINFO startup_info;
|
||||
char slotdirpath[256];
|
||||
std::string cmd_line;
|
||||
char error_msg[1024];
|
||||
|
||||
memset(&process_info, 0, sizeof(process_info));
|
||||
memset(&startup_info, 0, sizeof(startup_info));
|
||||
|
@ -351,7 +352,9 @@ int ACTIVE_TASK::start(bool first_time) {
|
|||
|
||||
cmd_line = exec_path + std::string(" ") + wup->command_line;
|
||||
relative_to_absolute(slot_dir, slotdirpath);
|
||||
if (!CreateProcess(exec_path,
|
||||
bool success = false;
|
||||
for (i=0; i<5; i++) {
|
||||
if (CreateProcess(exec_path,
|
||||
(LPSTR)cmd_line.c_str(),
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -362,12 +365,16 @@ int ACTIVE_TASK::start(bool first_time) {
|
|||
&startup_info,
|
||||
&process_info
|
||||
)) {
|
||||
char szError[1024];
|
||||
windows_error_string(szError, sizeof(szError));
|
||||
|
||||
success = true;
|
||||
break;
|
||||
}
|
||||
windows_error_string(error_msg, sizeof(error_msg));
|
||||
msg_printf(wup->project, MSG_ERROR, "CreateProcess() failed - %s", error_msg);
|
||||
boinc_sleep(drand());
|
||||
}
|
||||
if (!success) {
|
||||
task_state = PROCESS_COULDNT_START;
|
||||
gstate.report_result_error(*result, "CreateProcess() failed - %s", szError);
|
||||
msg_printf(wup->project, MSG_ERROR, "CreateProcess() failed - %s", szError);
|
||||
gstate.report_result_error(*result, "CreateProcess() failed - %s", error_msg);
|
||||
return ERR_EXEC;
|
||||
}
|
||||
pid = process_info.dwProcessId;
|
||||
|
@ -447,7 +454,7 @@ int ACTIVE_TASK::start(bool first_time) {
|
|||
// Postcondition: "state" is set correctly
|
||||
//
|
||||
int ACTIVE_TASK::resume_or_start() {
|
||||
const char* str = "??";
|
||||
char* str = "??";
|
||||
int retval;
|
||||
|
||||
switch (task_state) {
|
||||
|
|
Loading…
Reference in New Issue