summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Engestrom <[email protected]>2019-06-22 13:49:02 +0100
committerEric Engestrom <[email protected]>2019-06-28 23:37:49 +0100
commit78aa4a3c0a93fad835c453046343f8a7b313d20d (patch)
tree07a3bd79d5d94ed1c7370feecc032f4710fb3a78
parentd02d2b626b7b7dd9ccb0e81b48c351cdf65156b3 (diff)
mesa: stop trying new filenames if the filename existing is not the issue
Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/mesa/main/shaderapi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index f23e9c00be5..e06ab00bb0b 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -37,6 +37,7 @@
*/
+#include <errno.h>
#include <stdbool.h>
#include <c99_alloca.h>
#include "main/glheader.h"
@@ -1255,6 +1256,11 @@ link_program(struct gl_context *ctx, struct gl_shader_program *shProg,
file = os_file_create_unique(filename, 0644);
if (file)
break;
+ /* If we are failing for another reason than "this filename already
+ * exists", we are likely to fail again with another filename, so
+ * let's just give up */
+ if (errno != EEXIST)
+ break;
ralloc_free(filename);
}
if (file) {