diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -54,6 +54,7 @@ struct general_info { unsigned short int total_finished_jobs; // unsigned int total_frames_rendered; // unsigned int highest_jobnum; + short int hibernate; } general_info; @@ -126,6 +127,7 @@ void remotio_send_to_client() /** Fill variables after crash / shutdown from XML dumps */ int start_data() { + general_info.hibernate = 0; struct stat buffer; if(stat(SYSCONFDIR "/data.xml", &buffer) == 0){ @@ -282,6 +284,9 @@ void change_job_priority(struct distrenj */ int find_jobframe(struct distrenjob *head, struct distrenjob **job, struct frameset **frame) { + if(general_info.hibernate) + return 1; + unsigned int frame_counter; short int your_job_type; unsigned short int found; @@ -291,7 +296,7 @@ int find_jobframe(struct distrenjob *hea your_job_type = 0; found = 0; /* iterate through jobs from first to last */ - for(distrenjob_ptr = head->next; !found && !distrenjob_ptr; distrenjob_ptr = distrenjob_ptr->next) + for(distrenjob_ptr = head->next; (!found && !distrenjob_ptr) && !distrenjob_ptr->hibernate; distrenjob_ptr = distrenjob_ptr->next) for(frame_counter = 0; !found && frame_counter < distrenjob_ptr->total_frames; frame_counter ++) if(distrenjob_ptr->frameset[frame_counter].status == FRAMESETSTATUS_UNASSIGNED) {