ddebug: use an atomic increment when numbering files

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle
2017-10-22 17:38:58 +02:00
parent d6710fe874
commit e8bb8758dd

View File

@@ -35,6 +35,7 @@
#include "c99_alloca.h"
#include "os/os_process.h"
#include "util/u_atomic.h"
#include "util/u_debug.h"
/* name of the directory in home */
@@ -56,7 +57,8 @@ dd_get_debug_filename_and_mkdir(char *buf, size_t buflen, bool verbose)
if (mkdir(dir, 0774) && errno != EEXIST)
fprintf(stderr, "dd: can't create a directory (%i)\n", errno);
snprintf(buf, buflen, "%s/%s_%u_%08u", dir, proc_name, getpid(), index++);
snprintf(buf, buflen, "%s/%s_%u_%08u", dir, proc_name, getpid(),
p_atomic_inc_return(&index) - 1);
if (verbose)
fprintf(stderr, "dd: dumping to file %s\n", buf);