Commit b57a1dd2 authored by unknown's avatar unknown
Browse files

Safety fix for alarms on windows.


mysys/thr_alarm.c:
  Safety fix for alarms on windows
sql/mini_client.cc:
  Added comments
parent 409b8f35
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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;
+11 −6
Original line number Diff line number Diff line
@@ -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);