mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Safety fix for alarms on windows.
mysys/thr_alarm.c: Safety fix for alarms on windows sql/mini_client.cc: Added comments
This commit is contained in:
@@ -638,7 +638,8 @@ bool thr_got_alarm(thr_alarm_t *alrm_ptr)
|
||||
void thr_end_alarm(thr_alarm_t *alrm_ptr)
|
||||
{
|
||||
thr_alarm_t alrm= *alrm_ptr;
|
||||
if (alrm->crono)
|
||||
/* alrm may be zero if thr_alarm aborted with an error */
|
||||
if (alrm && alrm->crono)
|
||||
{
|
||||
KillTimer(NULL, alrm->crono);
|
||||
alrm->crono = 0;
|
||||
|
@@ -18,10 +18,11 @@
|
||||
mini MySQL client to be included into the server to do server to server
|
||||
commincation by Sasha Pachev
|
||||
|
||||
Note: all file-global symbols must begin with mc_ , even the static ones, just
|
||||
in case we decide to make them external at some point
|
||||
Note: all file-global symbols must begin with mc_ , even the static
|
||||
ones, just in case we decide to make them external at some point
|
||||
*/
|
||||
|
||||
#include <global.h>
|
||||
#define DONT_USE_RAID
|
||||
#if defined(__WIN__)
|
||||
#include <winsock.h>
|
||||
@@ -40,7 +41,6 @@ inline int local_thr_alarm(my_bool *A,int B __attribute__((unused)),ALARM *C __a
|
||||
#define thr_got_alarm(A) 0
|
||||
#endif
|
||||
|
||||
#include <global.h>
|
||||
#include <my_sys.h>
|
||||
#include <mysys_err.h>
|
||||
#include <m_string.h>
|
||||
@@ -597,6 +597,11 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
|
||||
sprintf(host_info=buff,ER(CR_TCP_CONNECTION),host);
|
||||
DBUG_PRINT("info",("Server name: '%s'. TCP sock: %d", host,port));
|
||||
thr_alarm_init(&alarmed);
|
||||
/*
|
||||
We don't have to check status for thr_alarm as it's not fatal if
|
||||
we didn't manage to set an alarm. (In this case the socket call
|
||||
will just block for a while).
|
||||
*/
|
||||
thr_alarm(&alarmed, net_read_timeout, &alarm_buff);
|
||||
sock = (my_socket) socket(AF_INET,SOCK_STREAM,0);
|
||||
thr_end_alarm(&alarmed);
|
||||
|
Reference in New Issue
Block a user