summaryrefslogtreecommitdiffstats
path: root/inc
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2010-09-22 12:02:02 +0200
committerNikola Pajkovsky <npajkovs@redhat.com>2010-09-22 12:54:41 +0200
commitfe34bea3225ddf49f4611299af7b54c6ac60fbb6 (patch)
tree83e92bb81108b8fd7741d5a5bdcb40d0adf3ba34 /inc
parent5cba622bac75cd90a846a028e47245a16043da17 (diff)
downloadabrt-fe34bea3225ddf49f4611299af7b54c6ac60fbb6.tar.gz
abrt-fe34bea3225ddf49f4611299af7b54c6ac60fbb6.tar.xz
abrt-fe34bea3225ddf49f4611299af7b54c6ac60fbb6.zip
add two flags to dd_opendir()
DD_CLOSE_ON_OPEN_ERR - free dump_dir structure when opening dump_dir does not exist DD_FAIL_QUIETLY - suppress message when dump directory does not exist VERB1 log(_("Unable to open debug dump '%s'"), pDebugDumpDir); is all removed because there is error_msg("'%s' does not exist", dd->dd_dir); in dd_opendir() which sometimes we don't want to print(DD_FAIL_QUIETLY) example: crash dump directory trimming code running concurrently. Second process may try to delete a directory which is already gone. it should not complain that it is missing. Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com> Acked-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'inc')
-rw-r--r--inc/dump_dir.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/inc/dump_dir.h b/inc/dump_dir.h
index 8e65b1f2..ef9ef7a7 100644
--- a/inc/dump_dir.h
+++ b/inc/dump_dir.h
@@ -26,6 +26,11 @@
extern "C" {
#endif
+enum {
+ DD_CLOSE_ON_OPEN_ERR = (1 << 0),
+ DD_FAIL_QUIETLY = (1 << 1),
+};
+
struct dump_dir {
char *dd_dir;
DIR *next_dir;
@@ -37,7 +42,7 @@ struct dump_dir {
struct dump_dir *dd_init(void);
void dd_close(struct dump_dir *dd);
-int dd_opendir(struct dump_dir *dd, const char *dir);
+int dd_opendir(struct dump_dir *dd, const char *dir, int flags);
int dd_exist(struct dump_dir *dd, const char *path);
int dd_create(struct dump_dir *dd, const char *dir, uid_t uid);
DIR *dd_init_next_file(struct dump_dir *dd);