1
0
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:
unknown
2003-11-17 12:59:07 +02:00
parent 409b8f35d4
commit b57a1dd227
2 changed files with 13 additions and 7 deletions

View File

@@ -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;

View File

@@ -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);