diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -67,6 +67,7 @@ struct general_info { unsigned int total_frames_rendered; // unsigned int highest_jobnum; short int hibernate; + unsigned int timestamp; } general_info; @@ -163,6 +164,7 @@ int start_data(struct distrenjob *head, general_info.jobs_in_queue = 0; general_info.rendering_clients = 0; general_info.hibernate = 0; + general_info.timestamp = 0; // Create the stor directory // char *stor; @@ -593,6 +595,7 @@ void importGeneralInfo() general_info.hibernate = 0; general_info.free_clients = 0; general_info.rendering_clients = 0; + general_info.timestamp = 0; xmlFreeDoc(doc); } @@ -746,14 +749,19 @@ int updateJobListXML(struct distrenjob * char *tmp2; int counter; + // update timestamp + general_info.timestamp++; + if(general_info.timestamp > 65530) + general_info.timestamp = 0; + writer = xmlNewTextWriterFilename("job_list.xml", 0); xmlTextWriterStartDocument(writer, NULL, "utf-8", NULL); // create root element job_list xmlTextWriterStartElement(writer, (xmlChar*)"job_list"); - _distren_asprintf(&tmp, "%d", general_info.jobs_in_queue); - xmlTextWriterWriteAttribute(writer, (xmlChar*)"amount", (xmlChar*)tmp); + _distren_asprintf(&tmp, "%d", general_info.timestamp); + xmlTextWriterWriteAttribute(writer, (xmlChar*)"timestamp", (xmlChar*)tmp); counter = 0; for(job = head->next; job; job = job->next) @@ -957,6 +965,7 @@ int main(int argc, char *argv[]) general_info.total_frames_rendered = 0; general_info.highest_jobnum = 0; general_info.hibernate = 0; + general_info.timestamp = 0; int command; jobnum_t jobnum;