mirror of https://github.com/BOINC/boinc.git
client: delete per-project files when detach project
This commit is contained in:
parent
cf5ccaa4d0
commit
d78d445789
|
@ -1956,6 +1956,7 @@ int CLIENT_STATE::reset_project(PROJECT* project, bool detaching) {
|
|||
// - delete all file infos
|
||||
// - delete account file
|
||||
// - delete project directory
|
||||
// - delete various per-project files
|
||||
//
|
||||
int CLIENT_STATE::detach_project(PROJECT* project) {
|
||||
vector<PROJECT*>::iterator project_iter;
|
||||
|
@ -2030,6 +2031,11 @@ int CLIENT_STATE::detach_project(PROJECT* project) {
|
|||
);
|
||||
}
|
||||
|
||||
// remove job log file
|
||||
//
|
||||
job_log_filename(*project, path, sizeof(path));
|
||||
boinc_delete_file(path);
|
||||
|
||||
rss_feeds.update_feed_list();
|
||||
|
||||
delete project;
|
||||
|
|
|
@ -704,6 +704,14 @@ int RSS_FEED::parse_items(XML_PARSER& xp, int& nitems) {
|
|||
return func_ret;
|
||||
}
|
||||
|
||||
void RSS_FEED::delete_files() {
|
||||
char path[MAXPATHLEN];
|
||||
feed_file_name(path);
|
||||
boinc_delete_file(path);
|
||||
archive_file_name(path);
|
||||
boinc_delete_file(path);
|
||||
}
|
||||
|
||||
///////////// RSS_FEED_OP ////////////////
|
||||
|
||||
RSS_FEED_OP::RSS_FEED_OP() {
|
||||
|
@ -914,6 +922,7 @@ void RSS_FEEDS::update_feed_list() {
|
|||
rf.url
|
||||
);
|
||||
}
|
||||
rf.delete_files();
|
||||
iter = feeds.erase(iter);
|
||||
}
|
||||
}
|
||||
|
@ -928,3 +937,9 @@ void RSS_FEEDS::write_feed_list() {
|
|||
write_rss_feed_descs(fout, feeds);
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
void delete_project_notice_files(PROJECT* p) {
|
||||
char path[MAXPATHLEN];
|
||||
project_feed_list_file_name(p, path);
|
||||
boinc_delete_file(path);
|
||||
}
|
||||
|
|
|
@ -111,6 +111,7 @@ struct RSS_FEED {
|
|||
void feed_file_name(char*);
|
||||
void archive_file_name(char*);
|
||||
int read_archive_file();
|
||||
void delete_files();
|
||||
};
|
||||
|
||||
struct RSS_FEED_OP: public GUI_HTTP_OP {
|
||||
|
@ -144,4 +145,6 @@ int parse_rss_feed_descs(XML_PARSER&, std::vector<RSS_FEED>&);
|
|||
void handle_sr_feeds(std::vector<RSS_FEED>&, struct PROJ_AM*);
|
||||
// process the feeds in a scheduler reply
|
||||
|
||||
void delete_project_notice_files(PROJECT*);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue