Merge lp:~laurynas-biveinis/percona-server/bug805805-1060136-1061118-5.5 into lp:percona-server/5.5

Proposed by Laurynas Biveinis
Status: Superseded
Proposed branch: lp:~laurynas-biveinis/percona-server/bug805805-1060136-1061118-5.5
Merge into: lp:percona-server/5.5
Diff against target: 91 lines (+21/-3)
4 files modified
Percona-Server/mysql-test/lib/My/SafeProcess/safe_process.cc (+4/-1)
Percona-Server/mysql-test/r/percona_signal_handling.result (+3/-0)
Percona-Server/mysql-test/t/percona_signal_handling.test (+8/-0)
Percona-Server/sql/net_serv.cc (+6/-2)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/bug805805-1060136-1061118-5.5
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) Approve
Review via email: mp+128055@code.launchpad.net

This proposal has been superseded by a proposal from 2012-10-09.

Description of the change

Merge fixes for bug 1060136, bug 1061118, bug 805805 from 5.1.

The bug 1061118 bits are null-merged, the rest auto-merged.

http://jenkins.percona.com/job/percona-server-5.5-param/533/

To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) wrote :

OK to push after addressing the comments in 5.1 and re-merging to 5.5.

review: Approve
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Setting to WiP to avoid accidental merge :)

Unmerged revisions

312. By Laurynas Biveinis

Merge fixes for bug 1060136, bug 1061118, bug 805805 from 5.1.

The bug 1061118 bits are null-merged, the rest auto-merged.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Percona-Server/mysql-test/lib/My/SafeProcess/safe_process.cc'
2--- Percona-Server/mysql-test/lib/My/SafeProcess/safe_process.cc 2011-06-30 15:46:53 +0000
3+++ Percona-Server/mysql-test/lib/My/SafeProcess/safe_process.cc 2012-10-04 16:16:55 +0000
4@@ -152,11 +152,14 @@
5 pid_t own_pid= getpid();
6 pid_t parent_pid= getppid();
7 bool nocore = false;
8+ struct sigaction sigchld_action;
9
10+ sigchld_action.sa_handler= handle_signal;
11+ sigchld_action.sa_flags= SA_NOCLDSTOP;
12 /* Install signal handlers */
13 signal(SIGTERM, handle_signal);
14 signal(SIGINT, handle_signal);
15- signal(SIGCHLD, handle_signal);
16+ sigaction(SIGCHLD, &sigchld_action, NULL);
17 signal(SIGABRT, handle_abort);
18
19 sprintf(safe_process_name, "safe_process[%ld]", (long) own_pid);
20
21=== added file 'Percona-Server/mysql-test/r/percona_signal_handling.result'
22--- Percona-Server/mysql-test/r/percona_signal_handling.result 1970-01-01 00:00:00 +0000
23+++ Percona-Server/mysql-test/r/percona_signal_handling.result 2012-10-04 16:16:55 +0000
24@@ -0,0 +1,3 @@
25+SELECT 2+2;
26+2+2
27+4
28
29=== added file 'Percona-Server/mysql-test/t/percona_signal_handling.test'
30--- Percona-Server/mysql-test/t/percona_signal_handling.test 1970-01-01 00:00:00 +0000
31+++ Percona-Server/mysql-test/t/percona_signal_handling.test 2012-10-04 16:16:55 +0000
32@@ -0,0 +1,8 @@
33+--source include/not_windows.inc
34+
35+let $mysqld_pid_file=`SELECT @@GLOBAL.pid_file`;
36+
37+system kill -STOP `cat $mysqld_pid_file`;
38+system kill -CONT `cat $mysqld_pid_file`;
39+
40+SELECT 2+2;
41
42=== modified file 'Percona-Server/sql/net_serv.cc'
43--- Percona-Server/sql/net_serv.cc 2012-05-10 07:49:14 +0000
44+++ Percona-Server/sql/net_serv.cc 2012-10-04 16:16:55 +0000
45@@ -632,11 +632,12 @@
46 if ((long) (length= vio_write(net->vio,pos,(size_t) (end-pos))) <= 0)
47 {
48 my_bool interrupted = vio_should_retry(net->vio);
49-#if !defined(NO_ALARM) && !defined(__WIN__)
50+#if !defined(__WIN__)
51 if ((interrupted || length == 0) && !thr_alarm_in_use(&alarmed))
52 {
53 if (!thr_alarm(&alarmed, net->write_timeout, &alarm_buff))
54 { /* Always true for client */
55+#if !defined(NO_ALARM)
56 my_bool old_mode;
57 while (vio_blocking(net->vio, TRUE, &old_mode) < 0)
58 {
59@@ -654,6 +655,7 @@
60 #endif
61 goto end;
62 }
63+#endif /* !defined(NO_ALARM) */
64 retry_count=0;
65 continue;
66 }
67@@ -835,7 +837,7 @@
68
69 DBUG_PRINT("info",("vio_read returned %ld errno: %d",
70 (long) length, vio_errno(net->vio)));
71-#if !defined(NO_ALARM) && (!defined(__WIN__) || defined(MYSQL_SERVER))
72+#if !defined(__WIN__) || defined(MYSQL_SERVER)
73 /*
74 We got an error that there was no data on the socket. We now set up
75 an alarm to not 'read forever', change the socket to non blocking
76@@ -845,6 +847,7 @@
77 {
78 if (!thr_alarm(&alarmed,net->read_timeout,&alarm_buff)) /* Don't wait too long */
79 {
80+#if !defined(NO_ALARM)
81 my_bool old_mode;
82 while (vio_blocking(net->vio, TRUE, &old_mode) < 0)
83 {
84@@ -867,6 +870,7 @@
85 #endif
86 goto end;
87 }
88+#endif /* !defined(NO_ALARM) */
89 retry_count=0;
90 continue;
91 }

Subscribers

People subscribed via source and target branches