MDEV-14469 build with cmake -DMYSQL_MAINTAINER_MODE=ON fails: 'readdir_r' is deprecated
1. test readdir_r() availability under -Werror 2. don't protect readdir() with mutexes, it's not needed for the way we use readdir()
This commit is contained in:
parent
d31ee64da6
commit
d8001106c9
@ -407,7 +407,6 @@ CHECK_FUNCTION_EXISTS (pthread_sigmask HAVE_PTHREAD_SIGMASK)
|
|||||||
CHECK_FUNCTION_EXISTS (pthread_threadmask HAVE_PTHREAD_THREADMASK)
|
CHECK_FUNCTION_EXISTS (pthread_threadmask HAVE_PTHREAD_THREADMASK)
|
||||||
CHECK_FUNCTION_EXISTS (pthread_yield_np HAVE_PTHREAD_YIELD_NP)
|
CHECK_FUNCTION_EXISTS (pthread_yield_np HAVE_PTHREAD_YIELD_NP)
|
||||||
CHECK_FUNCTION_EXISTS (putenv HAVE_PUTENV)
|
CHECK_FUNCTION_EXISTS (putenv HAVE_PUTENV)
|
||||||
CHECK_FUNCTION_EXISTS (readdir_r HAVE_READDIR_R)
|
|
||||||
CHECK_FUNCTION_EXISTS (readlink HAVE_READLINK)
|
CHECK_FUNCTION_EXISTS (readlink HAVE_READLINK)
|
||||||
CHECK_FUNCTION_EXISTS (re_comp HAVE_RE_COMP)
|
CHECK_FUNCTION_EXISTS (re_comp HAVE_RE_COMP)
|
||||||
CHECK_FUNCTION_EXISTS (regcomp HAVE_REGCOMP)
|
CHECK_FUNCTION_EXISTS (regcomp HAVE_REGCOMP)
|
||||||
@ -465,6 +464,16 @@ IF(HAVE_SYS_EVENT_H)
|
|||||||
CHECK_FUNCTION_EXISTS (kqueue HAVE_KQUEUE)
|
CHECK_FUNCTION_EXISTS (kqueue HAVE_KQUEUE)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
# readdir_r might exist, but be marked deprecated
|
||||||
|
SET(CMAKE_REQUIRED_FLAGS -Werror)
|
||||||
|
CHECK_CXX_SOURCE_COMPILES(
|
||||||
|
"#include <dirent.h>
|
||||||
|
int main() {
|
||||||
|
readdir_r(0,0,0);
|
||||||
|
return 0;
|
||||||
|
}" HAVE_READDIR_R)
|
||||||
|
SET(CMAKE_REQUIRED_FLAGS)
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Support for WL#2373 (Use cycle counter for timing)
|
# Support for WL#2373 (Use cycle counter for timing)
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
|
@ -103,10 +103,6 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
|
|||||||
DBUG_ENTER("my_dir");
|
DBUG_ENTER("my_dir");
|
||||||
DBUG_PRINT("my",("path: '%s' MyFlags: %d",path,MyFlags));
|
DBUG_PRINT("my",("path: '%s' MyFlags: %d",path,MyFlags));
|
||||||
|
|
||||||
#if !defined(HAVE_READDIR_R)
|
|
||||||
mysql_mutex_lock(&THR_LOCK_open);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dirp = opendir(directory_file_name(tmp_path,(char *) path));
|
dirp = opendir(directory_file_name(tmp_path,(char *) path));
|
||||||
#if defined(__amiga__)
|
#if defined(__amiga__)
|
||||||
if ((dirp->dd_fd) < 0) /* Directory doesn't exists */
|
if ((dirp->dd_fd) < 0) /* Directory doesn't exists */
|
||||||
@ -162,9 +158,6 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
|
|||||||
}
|
}
|
||||||
|
|
||||||
(void) closedir(dirp);
|
(void) closedir(dirp);
|
||||||
#if !defined(HAVE_READDIR_R)
|
|
||||||
mysql_mutex_unlock(&THR_LOCK_open);
|
|
||||||
#endif
|
|
||||||
result->dir_entry= (FILEINFO *)dir_entries_storage->buffer;
|
result->dir_entry= (FILEINFO *)dir_entries_storage->buffer;
|
||||||
result->number_off_files= dir_entries_storage->elements;
|
result->number_off_files= dir_entries_storage->elements;
|
||||||
|
|
||||||
@ -174,9 +167,6 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
|
|||||||
DBUG_RETURN(result);
|
DBUG_RETURN(result);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
#if !defined(HAVE_READDIR_R)
|
|
||||||
mysql_mutex_unlock(&THR_LOCK_open);
|
|
||||||
#endif
|
|
||||||
my_errno=errno;
|
my_errno=errno;
|
||||||
if (dirp)
|
if (dirp)
|
||||||
(void) closedir(dirp);
|
(void) closedir(dirp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user