]> git.pld-linux.org Git - packages/mysql.git/blob - remove_fcntl_excessive_calls.patch
- disable response-time-distribution patch on arch which has no atomic builtins even...
[packages/mysql.git] / remove_fcntl_excessive_calls.patch
1 # name       : remove_fcntl_excessive_calls.patch
2 # introduced : 12
3 # maintainer : Oleg
4 #
5 #!!! notice !!!
6 # Any small change to this file in the main branch
7 # should be done or reviewed by the maintainer!
8 diff -ruN a/patch_info/remove_fcntl_excessive_calls.info b/patch_info/remove_fcntl_excessive_calls.info
9 --- a/patch_info/remove_fcntl_excessive_calls.info      1970-01-01 03:00:00.000000000 +0300
10 +++ b/patch_info/remove_fcntl_excessive_calls.info      2010-07-22 21:42:08.560424001 +0400
11 @@ -0,0 +1,6 @@
12 +File=remove_fcntl_excessive_calls.patch
13 +Name=remove fcntl excessive calls
14 +Version=1.0
15 +Author=This is a port of the official fix.
16 +License=GPL
17 +Comment=
18 diff -ruN a/sql/net_serv.cc b/sql/net_serv.cc
19 --- a/sql/net_serv.cc   2010-06-03 19:50:27.000000000 +0400
20 +++ b/sql/net_serv.cc   2010-07-22 21:40:30.680424001 +0400
21 @@ -61,7 +61,7 @@
22    the client should have a bigger max_allowed_packet.
23  */
24  
25 -#if defined(__WIN__) || !defined(MYSQL_SERVER)
26 +#if (defined(__WIN__) || !defined(MYSQL_SERVER)) && !defined(NO_ALARM)
27    /* The following is because alarms doesn't work on windows. */
28  #ifndef NO_ALARM
29  #define NO_ALARM
30 @@ -133,7 +133,7 @@
31    if (vio != 0)                                        /* If real connection */
32    {
33      net->fd  = vio_fd(vio);                    /* For perl DBI/DBD */
34 -#if defined(MYSQL_SERVER) && !defined(__WIN__)
35 +#if defined(MYSQL_SERVER) && !defined(__WIN__) && !defined(NO_ALARM)
36      if (!(test_flags & TEST_BLOCKING))
37      {
38        my_bool old_mode;
39 @@ -632,7 +632,7 @@
40      if ((long) (length= vio_write(net->vio,pos,(size_t) (end-pos))) <= 0)
41      {
42        my_bool interrupted = vio_should_retry(net->vio);
43 -#if !defined(__WIN__)
44 +#if !defined(NO_ALARM) && !defined(__WIN__)
45        if ((interrupted || length == 0) && !thr_alarm_in_use(&alarmed))
46        {
47          if (!thr_alarm(&alarmed, net->write_timeout, &alarm_buff))
48 @@ -688,7 +688,7 @@
49      pos+=length;
50      update_statistics(thd_increment_bytes_sent(length));
51    }
52 -#ifndef __WIN__
53 +#if !defined(NO_ALARM) && !defined(__WIN__)
54   end:
55  #endif
56  #ifdef HAVE_COMPRESS
57 @@ -820,6 +820,7 @@
58      thr_alarm(&alarmed,net->read_timeout,&alarm_buff);
59  #else
60    /* Read timeout is set in my_net_set_read_timeout */
61 +  DBUG_ASSERT(net_blocking);
62  #endif /* NO_ALARM */
63  
64      pos = net->buff + net->where_b;            /* net->packet -4 */
65 @@ -834,7 +835,7 @@
66  
67           DBUG_PRINT("info",("vio_read returned %ld  errno: %d",
68                              (long) length, vio_errno(net->vio)));
69 -#if !defined(__WIN__) || defined(MYSQL_SERVER)
70 +#if !defined(NO_ALARM) && (!defined(__WIN__) || defined(MYSQL_SERVER))
71           /*
72             We got an error that there was no data on the socket. We now set up
73             an alarm to not 'read forever', change the socket to non blocking
This page took 0.717859 seconds and 3 git commands to generate.