From 7146a9775efb4f8760061811b6d28f0665cc2e79 Mon Sep 17 00:00:00 2001 From: "petr@mysql.com" <> Date: Tue, 21 Feb 2006 15:32:52 +0300 Subject: [PATCH] Fix for Bug #12674 "Instance Manager: IM doesn't handle client connections correctly". Recommit with the max timeout value in sync with the comment. --- server-tools/instance-manager/options.cc | 6 ++++++ server-tools/instance-manager/priv.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/server-tools/instance-manager/options.cc b/server-tools/instance-manager/options.cc index 8119e8fc0ea..e7d366e7457 100644 --- a/server-tools/instance-manager/options.cc +++ b/server-tools/instance-manager/options.cc @@ -79,6 +79,7 @@ enum options { #endif OPT_MONITORING_INTERVAL, OPT_PORT, + OPT_WAIT_TIMEOUT, OPT_BIND_ADDRESS }; @@ -151,6 +152,11 @@ static struct my_option my_long_options[] = { "version", 'V', "Output version information and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0 }, + { "wait-timeout", OPT_WAIT_TIMEOUT, "The number of seconds IM waits " + "for activity on a connection before closing it.", + (gptr *) &net_read_timeout, (gptr *) &net_read_timeout, 0, GET_ULONG, + REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, LONG_TIMEOUT, 0, 1, 0 }, + { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0 } }; diff --git a/server-tools/instance-manager/priv.h b/server-tools/instance-manager/priv.h index af6d2837933..52d7aa1d23d 100644 --- a/server-tools/instance-manager/priv.h +++ b/server-tools/instance-manager/priv.h @@ -28,6 +28,8 @@ #define SERVER_DEFAULT_PORT 3306 #define DEFAULT_MONITORING_INTERVAL 20 #define DEFAULT_PORT 2273 +/* three-week timeout should be enough */ +#define LONG_TIMEOUT ((ulong) 3600L*24L*21L) /* the pid of the manager process (of the signal thread on the LinuxThreads) */ extern pid_t manager_pid;