summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/ddebug/dd_util.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/ddebug/dd_util.h b/src/gallium/drivers/ddebug/dd_util.h
index cfc0fb0ccce..bdfb7cc9163 100644
--- a/src/gallium/drivers/ddebug/dd_util.h
+++ b/src/gallium/drivers/ddebug/dd_util.h
@@ -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);