Commit f64dd6c1 authored by unknown's avatar unknown
Browse files

Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint

into  qualinost.(none):/home/mtaylor/src/mysql-5.0-maint

parents 74162c77 b91a4749
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -524,6 +524,17 @@ rl_redisplay ()
      wrap_offset = prompt_invis_chars_first_line = 0;
    }

#if defined (HANDLE_MULTIBYTE)	  
#define CHECK_INV_LBREAKS() \
      do { \
	if (newlines >= (inv_lbsize - 2)) \
	  { \
	    inv_lbsize *= 2; \
	    inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
            _rl_wrapped_line = (int *)xrealloc (_rl_wrapped_line, inv_lbsize * sizeof (int)); \
	  } \
      } while (0)
#else
#define CHECK_INV_LBREAKS() \
      do { \
	if (newlines >= (inv_lbsize - 2)) \
@@ -532,6 +543,7 @@ rl_redisplay ()
	    inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
	  } \
      } while (0)
#endif

#if defined (HANDLE_MULTIBYTE)	  
#define CHECK_LPOS() \
+7 −1
Original line number Diff line number Diff line
@@ -2044,11 +2044,17 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
    goto error;
  }
  vio_keepalive(net->vio,TRUE);
  /* Override local client variables */

  /* If user set read_timeout, let it override the default */
  if (mysql->options.read_timeout)
    net->read_timeout= mysql->options.read_timeout;
  vio_timeout(net->vio, 0, net->read_timeout);

  /* If user set write_timeout, let it override the default */
  if (mysql->options.write_timeout)
    net->write_timeout= mysql->options.write_timeout;
  vio_timeout(net->vio, 1, net->write_timeout);

  if (mysql->options.max_allowed_packet)
    net->max_packet_size= mysql->options.max_allowed_packet;

+3 −0
Original line number Diff line number Diff line
@@ -89,6 +89,9 @@ void kill_one_thread(THD *thd, ulong id, bool only_kill_query);
bool net_request_file(NET* net, const char* fname);
char* query_table_status(THD *thd,const char *db,const char *table_name);

void net_set_write_timeout(NET *net, uint timeout);
void net_set_read_timeout(NET *net, uint timeout);

#define x_free(A)	{ my_free((gptr) (A),MYF(MY_WME | MY_FAE | MY_ALLOW_ZERO_PTR)); }
#define safeFree(x)	{ if(x) { my_free((gptr) x,MYF(0)); x = NULL; } }
#define PREV_BITS(type,A)	((type) (((type) 1 << (A)) -1))
+2 −8
Original line number Diff line number Diff line
@@ -3886,10 +3886,9 @@ static bool read_init_file(char *file_name)

static void create_new_thread(THD *thd)
{
  NET *net=&thd->net;
  DBUG_ENTER("create_new_thread");

  NET *net=&thd->net;				// For easy ref
  net->read_timeout = (uint) connect_timeout;
  if (protocol_version > 9)
    net->return_errno=1;

@@ -4183,12 +4182,7 @@ pthread_handler_t handle_connections_sockets(void *arg __attribute__((unused)))
    }
    if (sock == unix_sock)
      thd->security_ctx->host=(char*) my_localhost;
#ifdef __WIN__
    /* Set default wait_timeout */
    ulong wait_timeout= global_system_variables.net_wait_timeout * 1000;
    (void) setsockopt(new_sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&wait_timeout,
                    sizeof(wait_timeout));
#endif

    create_new_thread(thd);
  }

+25 −2
Original line number Diff line number Diff line
@@ -606,7 +606,7 @@ net_real_write(NET *net,const char *packet,ulong len)
    thr_alarm(&alarmed,(uint) net->write_timeout,&alarm_buff);
#else
  alarmed=0;
  vio_timeout(net->vio, 1, net->write_timeout);
  /* Write timeout is set in net_set_write_timeout */
#endif /* NO_ALARM */

  pos=(char*) packet; end=pos+len;
@@ -799,7 +799,7 @@ my_real_read(NET *net, ulong *complen)
  if (net_blocking)
    thr_alarm(&alarmed,net->read_timeout,&alarm_buff);
#else
  vio_timeout(net->vio, 0, net->read_timeout);
  /* Read timeout is set in net_set_read_timeout */
#endif /* NO_ALARM */

    pos = net->buff + net->where_b;		/* net->packet -4 */
@@ -1110,3 +1110,26 @@ my_net_read(NET *net)
  return len;
}


void net_set_read_timeout(NET *net, uint timeout)
{
  DBUG_ENTER("net_set_read_timeout");
  DBUG_PRINT("enter", ("timeout: %d", timeout));
  net->read_timeout= timeout;
#ifdef NO_ALARM
  vio_timeout(net->vio, 0, timeout);
#endif
  DBUG_VOID_RETURN;
}


void net_set_write_timeout(NET *net, uint timeout)
{
  DBUG_ENTER("net_set_write_timeout");
  DBUG_PRINT("enter", ("timeout: %d", timeout));
  net->write_timeout= timeout;
#ifdef NO_ALARM
  vio_timeout(net->vio, 1, timeout);
#endif
  DBUG_VOID_RETURN;
}
Loading