diff options
author | Eric Engestrom <[email protected]> | 2019-06-22 13:49:02 +0100 |
---|---|---|
committer | Eric Engestrom <[email protected]> | 2019-06-28 23:37:49 +0100 |
commit | 78aa4a3c0a93fad835c453046343f8a7b313d20d (patch) | |
tree | 07a3bd79d5d94ed1c7370feecc032f4710fb3a78 | |
parent | d02d2b626b7b7dd9ccb0e81b48c351cdf65156b3 (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.c | 6 |
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) { |