Fix innodb compilation failure on Windows
We don't need to print an error when loading kernel32.dll. If we can't load it we'll automatically crash. Reviewed by wlad@mariadb.com
This commit is contained in:
parent
12c42bd2c7
commit
f775ee6006
@ -3645,9 +3645,7 @@ innobase_change_buffering_inited_ok:
|
|||||||
|
|
||||||
#ifndef UNIV_HOTBACKUP
|
#ifndef UNIV_HOTBACKUP
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
if (ut_win_init_time()) {
|
ut_win_init_time();
|
||||||
goto mem_free_and_error;
|
|
||||||
}
|
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
#endif /* !UNIV_HOTBACKUP */
|
#endif /* !UNIV_HOTBACKUP */
|
||||||
|
|
||||||
|
@ -275,9 +275,10 @@ ut_time_ms(void);
|
|||||||
/*============*/
|
/*============*/
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
/**********************************************************//**
|
/**********************************************************//**
|
||||||
Initialise highest available time resolution API on Windows
|
Initialise highest available time resolution API on Windows.
|
||||||
@return 0 if all OK else -1 */
|
Crashes if there's an error loading kernel32.dll.
|
||||||
int
|
*/
|
||||||
|
void
|
||||||
ut_win_init_time();
|
ut_win_init_time();
|
||||||
|
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
@ -49,7 +49,6 @@ Created 5/11/1994 Heikki Tuuri
|
|||||||
UNIV_INTERN ibool ut_always_false = FALSE;
|
UNIV_INTERN ibool ut_always_false = FALSE;
|
||||||
|
|
||||||
#ifdef __WIN__
|
#ifdef __WIN__
|
||||||
#include <mysql/innodb_priv.h> /* For sql_print_error */
|
|
||||||
typedef VOID(WINAPI *time_fn)(LPFILETIME);
|
typedef VOID(WINAPI *time_fn)(LPFILETIME);
|
||||||
static time_fn ut_get_system_time_as_file_time = GetSystemTimeAsFileTime;
|
static time_fn ut_get_system_time_as_file_time = GetSystemTimeAsFileTime;
|
||||||
|
|
||||||
@ -61,25 +60,20 @@ http://support.microsoft.com/kb/167296/ */
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Initialise highest available time resolution API on Windows
|
Initialise highest available time resolution API on Windows.
|
||||||
@return 0 if all OK else -1 */
|
Crashes if there's an error loading kernel32.dll.
|
||||||
int
|
*/
|
||||||
|
void
|
||||||
ut_win_init_time()
|
ut_win_init_time()
|
||||||
{
|
{
|
||||||
HMODULE h = LoadLibrary("kernel32.dll");
|
HMODULE h = LoadLibrary("kernel32.dll");
|
||||||
if (h != NULL)
|
ut_a(h);
|
||||||
|
time_fn pfn = (time_fn)GetProcAddress(h, "GetSystemTimePreciseAsFileTime");
|
||||||
|
if (pfn != NULL)
|
||||||
{
|
{
|
||||||
time_fn pfn = (time_fn)GetProcAddress(h, "GetSystemTimePreciseAsFileTime");
|
ut_get_system_time_as_file_time = pfn;
|
||||||
if (pfn != NULL)
|
|
||||||
{
|
|
||||||
ut_get_system_time_as_file_time = pfn;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
DWORD error = GetLastError();
|
return;
|
||||||
sql_print_error(
|
|
||||||
"LoadLibrary(\"kernel32.dll\") failed: GetLastError returns %lu", error);
|
|
||||||
return(-1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************//**
|
/*****************************************************************//**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user