*** empty log message ***

svn path=/trunk/boinc/; revision=4097
This commit is contained in:
David Anderson 2004-08-23 22:44:53 +00:00
parent 35958d6c8f
commit c7ee70d9ee
5 changed files with 10 additions and 5 deletions

View File

@ -16637,13 +16637,14 @@ David 23 Aug 2004
ACTIVE_TASK_SET::unsuspend_all():
Removed code that checks for process exit.
Poll code should take care of this.
- enabled preemption by quit
- add MSG_CHANNEL::send_msg_overwrite(): send message even
if there's already a message there.
Use this for process control messages.
- API: if suspended, check for <quit/> messages as well as <resume/>
(this affects Unix only)
- add enclosing tag for app init data file (so XML parsers accept it)
api/
boinc_api.C
client/

View File

@ -117,6 +117,7 @@ void ACTIVE_TASK_SET::graphics_poll() {
for (i=0; i<active_tasks.size(); i++) {
atp = active_tasks[i];
if (!atp->process_exists()) continue;
if (atp->graphics_mode_requested != atp->graphics_mode_sent) {
sent = atp->send_graphics_mode(atp->graphics_mode_requested);
if (sent) {

View File

@ -431,7 +431,9 @@ bool CLIENT_STATE::schedule_cpus(bool must_reschedule) {
if (atp->scheduler_state == CPU_SCHED_SCHEDULED
&& atp->next_scheduler_state == CPU_SCHED_PREEMPTED
) {
atp->preempt(active_tasks.vm_limit_exceeded(vm_limit));
bool preempt_by_quit = !global_prefs.leave_apps_in_memory;
preempt_by_quit |= active_tasks.vm_limit_exceeded(vm_limit);
atp->preempt(preempt_by_quit);
iter++;
} else if (atp->scheduler_state != CPU_SCHED_SCHEDULED
&& atp->next_scheduler_state == CPU_SCHED_SCHEDULED

View File

@ -494,7 +494,7 @@ void CMainWindow::UpdateGUI(CLIENT_STATE* pcs)
break;
case RESULT_FILES_DOWNLOADED:
if (at) {
if (at->scheduler_state == CPU_SCHED_RUNNING) {
if (at->scheduler_state == CPU_SCHED_SCHEDULED) {
strBuf.Format(g_szMiscItems[1]);
} else if (at->scheduler_state == CPU_SCHED_PREEMPTED) {
strBuf.Format(g_szMiscItems[14]);

View File

@ -47,7 +47,7 @@ char* xml_graphics_modes[NGRAPHICS_MSGS] = {
int write_init_data_file(FILE* f, APP_INIT_DATA& ai) {
string str1, str2;
fprintf(f, "<core_version>%d</core_version>\n", ai.core_version);
fprintf(f, "<app_init_data>\n<core_version>%d</core_version>\n", ai.core_version);
if (strlen(ai.app_name)) {
fprintf(f, "<app_name>%s</app_name>\n", ai.app_name);
}
@ -105,6 +105,7 @@ int write_init_data_file(FILE* f, APP_INIT_DATA& ai) {
ai.fraction_done_start,
ai.fraction_done_end
);
fprintf(f, "</app_init_data>\n");
MIOFILE mf;
mf.init_file(f);
ai.host_info.write(mf);