mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=3996
This commit is contained in:
parent
a22514496a
commit
8a63722901
|
@ -86,7 +86,7 @@ int CLIENT_STATE::parse_state_file() {
|
|||
FILE_INFO* fip = new FILE_INFO;
|
||||
fip->parse(mf, false);
|
||||
if (project) {
|
||||
retval = link_file_info(project, fip);
|
||||
retval = link_file_info(project, fip, false);
|
||||
if (!retval) file_infos.push_back(fip);
|
||||
// If the file had a failure before, there's no reason
|
||||
// to start another file transfer
|
||||
|
@ -336,7 +336,7 @@ int CLIENT_STATE::parse_app_info(PROJECT* p, FILE* in) {
|
|||
delete fip;
|
||||
continue;
|
||||
}
|
||||
if (link_file_info(p, fip)) {
|
||||
if (link_file_info(p, fip, true)) {
|
||||
delete fip;
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -63,5 +63,6 @@ extern void escape_project_url(char *in, char* out);
|
|||
#define LIST_STATE_FILE_NAME "list.ini"
|
||||
#define APP_INFO_FILE_NAME "app_info.xml"
|
||||
#define REMOTEHOST_FILE_NAME "remote_hosts.cfg"
|
||||
#define FILE_LIST_NAME "file_list.xml"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -23,7 +23,9 @@ char g_szUsageItems[MAX_USAGE_STR][256] = {
|
|||
"Free space",
|
||||
"Used space: non-BOINC",
|
||||
"Used space: BOINC",
|
||||
"Reserved space: BOINC",
|
||||
"BOINC software",
|
||||
"BOINC free space",
|
||||
};
|
||||
|
||||
char g_szMiscItems[MAX_MISC_STR][256] = {
|
||||
|
|
|
@ -74,6 +74,31 @@ void project_add_failed(PROJECT* project) {
|
|||
exit(1);
|
||||
}
|
||||
|
||||
// This gets called when the client doesn't have enough disk space to continue
|
||||
// running its active tasks. Notify user which project is the greatest offender
|
||||
// of their data share
|
||||
//
|
||||
void data_overflow_notify(PROJECT* project) {
|
||||
if(project == NULL) {
|
||||
printf(
|
||||
"Your disk space parameters are too small.\n"
|
||||
"BOINC no longer has space to run computation.\n"
|
||||
"Please visit your project's website and change your\n"
|
||||
"General Prefs to accomidate the size of the project.\n"
|
||||
);
|
||||
} else {
|
||||
printf(
|
||||
"Your disk space parameters are too small.\n"
|
||||
"BOINC no longer has space to run %s.\n"
|
||||
"Please visit %s and change your\n"
|
||||
"General Prefs to accomidate the size of the project.\n",
|
||||
project->project_name, project->master_url
|
||||
);
|
||||
}
|
||||
gstate.quit_activities();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// Display a message to the user.
|
||||
// Depending on the priority, the message may be more or less obtrusive
|
||||
//
|
||||
|
|
|
@ -556,6 +556,7 @@ int SCHEDULER_REPLY::parse(FILE* in, PROJECT* project) {
|
|||
char buf[256], *p;
|
||||
int retval;
|
||||
MIOFILE mf;
|
||||
char delete_file_name[256];
|
||||
mf.init_file(in);
|
||||
|
||||
SCOPE_MSG_LOG scope_messages(log_messages, CLIENT_MSG_LOG::DEBUG_SCHED_OP);
|
||||
|
@ -581,6 +582,8 @@ int SCHEDULER_REPLY::parse(FILE* in, PROJECT* project) {
|
|||
message_ack = false;
|
||||
project_is_down = false;
|
||||
send_file_list = false;
|
||||
deletion_policy_priority = false;
|
||||
deletion_policy_expire = false;
|
||||
|
||||
p = fgets(buf, 256, in);
|
||||
if (!p) {
|
||||
|
@ -628,6 +631,12 @@ int SCHEDULER_REPLY::parse(FILE* in, PROJECT* project) {
|
|||
if (retval) return ERR_XML_PARSE;
|
||||
// TODO: display message below if project preferences have changed.
|
||||
// msg_printf(project, MSG_INFO, "Project preferences have been updated\n");
|
||||
} else if (match_tag(buf, "<deletion_policy_priority/>")) {
|
||||
deletion_policy_priority = true;
|
||||
continue;
|
||||
} else if (match_tag(buf, "<deletion_policy_expire>")) {
|
||||
deletion_policy_expire = true;
|
||||
continue;
|
||||
} else if (match_tag(buf, "<code_sign_key>")) {
|
||||
retval = dup_element_contents(
|
||||
in,
|
||||
|
@ -670,6 +679,10 @@ int SCHEDULER_REPLY::parse(FILE* in, PROJECT* project) {
|
|||
RESULT result;
|
||||
result.parse_ack(in);
|
||||
result_acks.push_back(result);
|
||||
} else if (parse_str(buf, "<delete_file_info>", delete_file_name, sizeof(delete_file_name))) {
|
||||
STRING256 delete_file;
|
||||
strcpy(delete_file.text, delete_file_name);
|
||||
file_deletes.push_back(delete_file);
|
||||
} else if (parse_str(buf, "<message", message, sizeof(message))) {
|
||||
parse_attr(buf, "priority", message_priority, sizeof(message_priority));
|
||||
continue;
|
||||
|
|
|
@ -105,6 +105,7 @@ struct SCHEDULER_REPLY {
|
|||
unsigned int user_create_time;
|
||||
std::vector<APP> apps;
|
||||
std::vector<FILE_INFO> file_infos;
|
||||
std::vector<STRING256> file_deletes;
|
||||
std::vector<APP_VERSION> app_versions;
|
||||
std::vector<WORKUNIT> workunits;
|
||||
std::vector<RESULT> results;
|
||||
|
@ -114,6 +115,8 @@ struct SCHEDULER_REPLY {
|
|||
bool message_ack;
|
||||
bool project_is_down;
|
||||
bool send_file_list;
|
||||
bool deletion_policy_priority;
|
||||
bool deletion_policy_expire;
|
||||
|
||||
SCHEDULER_REPLY();
|
||||
~SCHEDULER_REPLY();
|
||||
|
|
Loading…
Reference in New Issue