8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-02-02 10:00:38 +01:00

Fix kernel memory leak

This commit is contained in:
skidder 2003-08-21 22:30:20 +00:00
parent c16b91c19d
commit 6f2c2095ae
4 changed files with 26 additions and 7 deletions

View File

@ -258,9 +258,20 @@
# Seconds to wait on a silent client connection before the server sends
# dummy packets to request acknowledgment.
#
# DO NOT USE THIS OPTION. It may hang or crash Windows on the client side as
# explained here: http://support.microsoft.com/default.aspx?kbid=296265
# or may not prevent eventual inactive client disconnection for other OS.
#
# Normally, Firebird uses SO_KEEPALIVE socket option to keep track of
# active connections. If you do not like default 2-hour keepalive timeout
# then adjust your server OS settings appropriately. On UNIX-like OS's,
# modify contents of /proc/sys/net/ipv4/tcp_keepalive_*. On Windows,
# follow instrutions of this article:
# http://support.microsoft.com/default.aspx?kbid=140325
#
# Type: integer
#
#DummyPacketInterval = 60
#DummyPacketInterval = 0
# ----------------------------

View File

@ -52,6 +52,11 @@
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
* Fixed bug SF #721792
Long runnning connection causes mem leak in OS kernel device
Contributor(s):
Nickolay Samofatov <skidder@bssys.com>
**************
* v1.5 RC 5
**************

View File

@ -66,7 +66,7 @@ const ConfigImpl::ConfigEntry ConfigImpl::entries[] =
{TYPE_INTEGER, "DefaultDbCachePages", (ConfigValue) 75}, // pages
#endif
{TYPE_INTEGER, "ConnectionTimeout", (ConfigValue) 180}, // seconds
{TYPE_INTEGER, "DummyPacketInterval", (ConfigValue) 60}, // seconds
{TYPE_INTEGER, "DummyPacketInterval", (ConfigValue) 0}, // seconds
{TYPE_INTEGER, "LockMemSize", (ConfigValue) 262144}, // bytes
#ifdef SINIXZ
{TYPE_INTEGER, "LockSemCount", (ConfigValue) 25}, // semaphores

View File

@ -362,11 +362,14 @@ void DLL_EXPORT REMOTE_get_timeout_params(
got_dpb_connect_timeout = TRUE;
break;
case gds_dpb_dummy_packet_interval:
port->port_dummy_packet_interval = get_parameter(&p);
got_dpb_dummy_packet_interval = TRUE;
port->port_flags |= PORT_dummy_pckt_set;
break;
// 22 Aug 2003. Do not receive this parameter from the client as dummy packets
// either kill idle client process or cause unexpected disconnections.
// This applies to all IB/FB versions.
// case gds_dpb_dummy_packet_interval:
// port->port_dummy_packet_interval = get_parameter(&p);
// got_dpb_dummy_packet_interval = TRUE;
// port->port_flags |= PORT_dummy_pckt_set;
// break;
case isc_dpb_sys_user_name:
/** Store the user name in thread specific storage.