mirror of https://github.com/BOINC/boinc.git
VBOX: Partial commit for completion trigger files (David taking over)
This commit is contained in:
parent
eea6472331
commit
f1981368f8
|
@ -141,6 +141,7 @@ public:
|
|||
// minimum time between checkpoints
|
||||
std::vector<std::string> copy_to_shared;
|
||||
std::vector<std::string> trickle_trigger_files;
|
||||
std::vector<std::string> completion_trigger_files;
|
||||
|
||||
/////////// END VBOX_JOB.XML ITEMS //////////////
|
||||
|
||||
|
|
|
@ -175,6 +175,10 @@ int parse_job_file(VBOX_VM& vm) {
|
|||
vm.trickle_trigger_files.push_back(str);
|
||||
continue;
|
||||
}
|
||||
else if (xp.parse_string("completion_trigger_file", str)) {
|
||||
vm.completion_trigger_files.push_back(str);
|
||||
continue;
|
||||
}
|
||||
fprintf(stderr, "%s parse_job_file(): unexpected tag %s\n",
|
||||
vboxwrapper_msg_prefix(buf, sizeof(buf)), xp.parsed_tag
|
||||
);
|
||||
|
@ -397,6 +401,27 @@ void VBOX_VM::check_trickle_triggers() {
|
|||
}
|
||||
}
|
||||
|
||||
// check for trickle trigger files, and send trickles if find them.
|
||||
//
|
||||
void VBOX_VM::check_trickle_triggers() {
|
||||
char filename[256], path[MAXPATHLEN], buf[256];
|
||||
for (unsigned int i=0; i<trickle_trigger_files.size(); i++) {
|
||||
strcpy(filename, trickle_trigger_files[i].c_str());
|
||||
sprintf(path, "shared/%s", filename);
|
||||
if (!boinc_file_exists(path)) continue;
|
||||
string text;
|
||||
int retval = read_file_string(path, text);
|
||||
if (retval) {
|
||||
fprintf(stderr,
|
||||
"%s can't read trickle trigger file %s\n",
|
||||
vboxwrapper_msg_prefix(buf, sizeof(buf)), filename
|
||||
);
|
||||
}
|
||||
boinc_send_trickle_up(filename, const_cast<char*>(text.c_str()));
|
||||
boinc_delete_file(path);
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
int retval;
|
||||
int loop_iteration = 0;
|
||||
|
|
Loading…
Reference in New Issue