diff options
Diffstat (limited to 'mysys/my_open.c')
-rw-r--r-- | mysys/my_open.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mysys/my_open.c b/mysys/my_open.c index a6cbffa0806..8b5f4f9435e 100644 --- a/mysys/my_open.c +++ b/mysys/my_open.c @@ -17,6 +17,7 @@ #include "mysys_err.h" #include <m_string.h> #include <errno.h> +#include "my_atomic.h" CREATE_NOSYMLINK_FUNCTION( open_nosymlinks(const char *pathname, int flags, int mode), @@ -105,7 +106,7 @@ int my_close(File fd, myf MyFlags) { my_free(name); } - thread_safe_decrement32(&my_file_opened); + my_atomic_add32_explicit(&my_file_opened, -1, MY_MEMORY_ORDER_RELAXED); DBUG_RETURN(err); } /* my_close */ @@ -133,7 +134,7 @@ File my_register_filename(File fd, const char *FileName, enum file_type DBUG_ENTER("my_register_filename"); if ((int) fd >= MY_FILE_MIN) { - thread_safe_increment32(&my_file_opened); + my_atomic_add32_explicit(&my_file_opened, 1, MY_MEMORY_ORDER_RELAXED); if ((uint) fd >= my_file_limit) DBUG_RETURN(fd); my_file_info[fd].name = my_strdup(key_memory_my_file_info, FileName, MyFlags); |