diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2010-09-22 12:02:02 +0200 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2010-09-22 12:54:41 +0200 |
commit | fe34bea3225ddf49f4611299af7b54c6ac60fbb6 (patch) | |
tree | 83e92bb81108b8fd7741d5a5bdcb40d0adf3ba34 /src/daemon/abrt-action-generate-backtrace.c | |
parent | 5cba622bac75cd90a846a028e47245a16043da17 (diff) | |
download | abrt-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 'src/daemon/abrt-action-generate-backtrace.c')
-rw-r--r-- | src/daemon/abrt-action-generate-backtrace.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/daemon/abrt-action-generate-backtrace.c b/src/daemon/abrt-action-generate-backtrace.c index 8bedf544..46f002a4 100644 --- a/src/daemon/abrt-action-generate-backtrace.c +++ b/src/daemon/abrt-action-generate-backtrace.c @@ -303,12 +303,8 @@ int main(int argc, char **argv) } struct dump_dir *dd = dd_init(); - if (!dd_opendir(dd, dump_dir_name)) - { - dd_close(dd); - VERB1 log(_("Unable to open debug dump '%s'"), dump_dir_name); + if (!dd_opendir(dd, dump_dir_name, DD_CLOSE_ON_OPEN_ERR)) return 1; - } char *package = dd_load_text(dd, FILENAME_PACKAGE); char *executable = dd_load_text(dd, FILENAME_EXECUTABLE); @@ -323,12 +319,9 @@ int main(int argc, char **argv) } dd = dd_init(); - if (!dd_opendir(dd, dump_dir_name)) - { - dd_close(dd); - VERB1 log(_("Unable to open debug dump '%s'"), dump_dir_name); + if (!dd_opendir(dd, dump_dir_name, DD_CLOSE_ON_OPEN_ERR)) return 1; - } + dd_save_text(dd, FILENAME_BACKTRACE, backtrace_str); /* Compute and store backtrace hash. */ |