*** empty log message ***

svn path=/trunk/boinc/; revision=3996
This commit is contained in:
Brian Boshes 2004-08-05 21:50:35 +00:00
parent a22514496a
commit 8a63722901
6 changed files with 47 additions and 3 deletions

View File

@ -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;
}

View File

@ -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

View File

@ -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] = {

View File

@ -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
//

View File

@ -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;

View File

@ -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();