]> git.pld-linux.org Git - packages/mysql.git/blame - remove_fcntl_excessive_calls.patch
- exports for hiphop-php
[packages/mysql.git] / remove_fcntl_excessive_calls.patch
CommitLineData
b4e1fa2c
AM
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!
8diff -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=
18diff -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
a9ee80b9
ER
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
b4e1fa2c
AM
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;
d8778560 39@@ -632,7 +632,7 @@
b4e1fa2c
AM
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))
d8778560 48@@ -688,7 +688,7 @@
b4e1fa2c
AM
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
d8778560 57@@ -820,6 +820,7 @@
b4e1fa2c
AM
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 */
d8778560 65@@ -834,7 +835,7 @@
b4e1fa2c
AM
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.055615 seconds and 4 git commands to generate.